Use the following steps to troubleshoot timeout messages for your WSAPI/LBAPI custom application.
- Do you have a proxy server between your application server and CA Agile Central? If so, you can try bypassing or adding an exception rule to your proxy firewall. If that resolves the issue, work with your internal networking/security team to troubleshoot.
- Isolate the request that is causing the timeout. You might be able to determine this by looking at your application’s log files, or the endpoint used in your REST client.
A few tips for optimizing your request:
- Are you only getting the data you need via the fetch parameter, or are you setting fetch=true? Setting fetch=true can be costly as it returns every attribute for every object type requested. If you only need certain attributes list those out in your fetch parameter individually.
- How many Objects of type are you returning, and what is your pagesize set? For example, you have 10,000 user stories returned from your request where you need all attributes returned and your pagesize is set to the max of 2000. This can be quite costly, so try setting your page size to a smaller value to reduce the number of objects returned with each request.
- Are you using projectScopeUp and or projectScopeDown appropriately? For example if you are looping through all projects and then performing a request on User Stories with projectScopeDown set to true, this might be both redundant and costly.
- See the following link for a list of best practices: https://knowledge.broadcom.com/external/article/125586/rally-wsapi-best-practices-on-filterin.html
Additionally, it is important to bear in mind that it is not possible for us to guarantee that every request is successful due to the unpredictable nature of the Internet as well as our need to restart application servers. It is highly recommended that retry logic is implemented in your integration to mitigate any transient disruptions. A good retry routine will check the following:
- Ensure a JSON response was received
- Ensure an HTTP 200 response was received
- Ensure that no Error object exists in the JSON response
If you have taken the above actions and the issue appears to be on the Rally side, please log a support ticket. Please be aware that if this is a one-time issue, it may not be possible for support to provide a root cause for the failed transaction.
Providing the following information helps support to isolate the issue in the logs
- The user ID used for the request and the method used for authentication (APIKey, Security Token, Basic Auth).
- The exact day and time of the error including the timezone.
- The exact request that was made and the method used (GET, POST)
- The full error message from your application logs or REST client.
- Any other information related to the troubleshooting steps above.