EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB483521: Configuring Timeout Settings for a RESTful Server


Jian (Sank) Zhang

Quality Architect, Senior • MicroStrategy


This article describes the workflow of request handling on a RESTful server and how to configure timeout settings.

Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.

Description

Users want to configure timeout settings on a RESTful server.

Some Concepts to Understand

The connection pool contains the connections between the Intelligence server and REST server.
If the connection pool is full, new incoming requests sit in a waiting queue.

Request Handling Workflow

  1. When the REST server gets a request from a user, it sends an isAliveRequest to the Intelligence server to check if the session is still valid. The default timeout of this request is three seconds. If this same session checked the Intelligence server status within the past 30 seconds, it does not send the isAliveRequest again.
  2. The isAliveRequest attempts to get the connection from the connection pool. If the connection pool is full, the request is placed in the waiting queue. If the request does not get a connection from the pool within ten seconds, a connection timeout error occurs. 
  3. If the request succesfully gets a connection from the connection pool, the REST server sends an XML command to the Intelligence server. If there is no response from the Intelligence server after 120 seconds, an XML caller connection timeout error occurs (iserver.requestTimeout). 
  4. If your request is a polling request, a polling request timeout occurs. This only occurs for document or dossier instances. When polling the result, there may be multiple requests to the Intelligence server. The timeout value is the total time for all of these requests. Each single request timeout value is set by iserver.requestTimeout. The default timeout value for a single request is ten minutes (document.polling.timeout).

Solution

There are two configuration files to set the timeout value for a RESTful server. They are as follows:

  • The Admin REST configuration file, configDefaults.properties, which is located at webapps > web-dossier > WEB-INF > classes > config.
  • The BIWeb's configuration file, sys_defaults.xml, which is located at webapps > web-dossier > WEB-INF > xml.

iserver.initialPoolSize

The number of connections to create when initializing the connection pool 
ConfigDefaults.properties

iserver.initialPoolSize

The number of connections to create when initializing the connection pool 
ConfigDefaults.properties

iserver.initialPoolSize

The number of connections to create when initializing the connection pool 
ConfigDefaults.properties

iserver.maxPoolSize
The size of the connection poolConfigDefaults.properties

iserver.maxPoolSize
The size of the connection poolConfigDefaults.properties

iserver.maxPoolSize
The size of the connection poolConfigDefaults.properties

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml

iserver.requestTimeout
The XML call's socket default read timeoutConfigDefaults.propertiesdocument.polling.timeoutThe maximum waiting time when polling a job on a server. This only works for a document or dossier instance. When polling the result, you may send multiple requests to the server. This value is the total time of all of these requests. Each single request timeout value is set by iserver.requestTimeout.ConfigDefaults.propertiesisAliveRequestTimeoutMillisThe socket read request timeout value when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xmlisAliveCheckIntervalMillisThe time interval of the check when the Auth Filter sends a GetFolderID XML API request to an Intelligence server nodesys_defaults.xml


Comment

0 comments

Details

Knowledge Article

Published:

July 30, 2019

Last Updated:

March 21, 2024