This knowledge article may contain information that does not apply to version 21.05 or later which runs in a container environment. Please refer to Article Number 000385088 for more information about troubleshooting BMC products in containers.
It is possible to adjust the timeout for API calls being issued by an AR API client.
Any client, including custom API programs, Mid-Tier, Developer Studio, etc. can have the timeout settings specified by setting the ARAPITIMEOUTS environment variable.
There are 3 classes of API calls identified in this setting:
1. Normal - Fast operations such as Submits and Modifies fall into the 'Normal' Class.
2. Long - Queries fall into the 'Long' class.
3. Extra Long - Other long-running operations such as exporting a form definition fall into the 'ExtraLong' class.
Note: There is no way to alter the timeout for a specific API call. It's better to change it for all API calls of that “class” on a specific client by adding the ARAPITIMEOUTS environment variable in the client’s environment.
To set the system environment variable, use the following format:
Syntax:
ARAPITIMEOUTS=<Normal>:<Long>:<ExtraLong>
For example:
ARAPITIMEOUTS=120:1200:1800
The defaults are 120:300:1800.
It's not recommended to set these values arbitrarily large unless it's just for a test.
The ARExpandCharMenu() call uses the middle timeout because it falls into the class of Long within the Normal:Long:ExtraLong ordering.
For browser clients: setting the ARAPITIMEOUTS environment variable on the server where the Mid-Tier resides will be needed.
If running multiple Mid-Tier servers for a server group environment, it will be needed to set it on all the Mid-Tier Servers.
Legacy Remedy User tool
To increase the ARAPITIMEOUTS for the user tool, set the RPCTimeout Normal, RPCTimeout Long, and RPCTimeout Extra Long fields on the Misc tab in the Centralized User Preference form, see the below screenshot and KA 000214212 which lists out the API calls for each class.