Problem Summary:
In very large Spotfire Server libraries, wildcard searches, or even searches that list all files in a folder, can be very slow. This could be caused by exceeded message size limit set by "soapReceivedMessageSizeKb" parameter. This condition could cause user interface errors "Client went offline" or "Client is offline":
Analyst error:
Web Player error:
Spotfire Server's server.log file:
2024-03-26T09:43:58,261-05:00 2024-03-26 14:43:58,261 uname [Web Server Worker Thread #2] INFO Spotfire.Dxp.Services.Http.HttpRetryContext [(null)] - Cannot retry error in call to .
System.ServiceModel.CommunicationException: The maximum message size quota for incoming messages (67108864) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. ---> System.ServiceModel.QuotaExceededException: The maximum message size quota for incoming messages (67108864) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.MessageEncoder.BufferMessageStream(Stream stream, BufferManager bufferManager, Int32 maxBufferSize)
at System.ServiceModel.Channels.MessageEncoder.ReadMessage(Stream stream, BufferManager bufferManager, Int32 maxBufferSize, String contentType)
...
2024-03-26T09:43:58,264-05:00 2024-03-26 14:43:58,264 uname [Web Server Worker Thread #2] ERROR Spotfire.Dxp.Framework.ApplicationModel.NotificationService [(null)] - The library is currently unavailable.;The client is offline.
Solution:
This problem is usually caused by a very large total number of items in Spotfire Library or in specific Library folders. In most cases, modifying "soapReceivedMessageSizeKb" parameter helps to resolve this problem. For performance reasons, this parameter is set to 64M by default, but it can be increased if needed. The minimum value is 16384, and the maximum value is 2097151.
To modify the "soapReceivedMessageSizeKb":
For Analyst client, open Windows File Explorer and browse to the file Spotfire.Dxp.Main.dll.config, which is located in the Spotfire Analyst's installation directory:
[Spotfire Analyst Installation Dir]\TIBCO Spotfire Analyst\Modules\Spotfire DXP Forms_************
(Enable Hidden folders if you don't see Modules folder)
Check parameter "soapReceivedMessageSizeKb" and increase the value to a greater value according to your requirements. Please increase the value of "soapReceivedMessageSizeKb" as needed and save the changes. The configuration should look like this:
<Spotfire.Dxp.Services.Settings
httpLoggingEnabled="false"
useParentWindowWhenPrompting="true"
soapReceivedMessageSizeKb="65536">
Please note that these values will be overwritten during every update of Analyst client.
For Web Player and Automation Services, export current Web Player configuration and Automation Services individually, then modify the same setting in Spotfire.Dxp.Worker.Core.config file:
- Open Spotfire Server admin console -> Nodes&Services -> Expand nodes and select Web Player service. Check the name of the current configuration.
- Launch a command prompt as Administrator on the Spotfire Server machine.
- Run one of the below commands to export the configuration:
- If default configuration is used:
config export-service-config --capability=WEB_PLAYER --deployment-area=Production --force
config export-service-config --capability=AUTOMATION_SERVICES --deployment-area=Production --force
- If custom configuration is used:
config export-service-config --config-name=[yourconfignamehere] --force
For 10.2 and below, the exported configuration files will be saved in [Spotfire Server Installation Dir]\tomcat\bin\config\root folder.
For 10.3 and above, the exported configuration files will be saved in [Spotfire Server Installation Dir]\tomcat\Spotfire-bin\config\root folder.
- Open Spotfire.Dxp.Worker.Core.config file in a text editor.
- Search for "maxReceivedMessageSizeMb" setting and edit it to the required value.
- Save the file, overwriting existing file.
- Open command prompt and run:
config import-service-config --config-name=[enternewconfigname]
- After successfully importing the updated configuration, launch Spotfire Server admin console in a web browser and select "Nodes & Services."
- Edit the Webplayer/Automation services to use the updated configuration. Click on "Edit" for each service and look for the "config-name" value you entered while importing the service configuration.
Comments
0 comments
Article is closed for comments.