Troubleshooting: "Unable to synchronize on requestor" timeout after 120 seconds
Symptom
A requestor thread represents an individual user or external system that connects to Process Commander. Requestors are unique Java objects in the JVM.
When a user performs an action (clicks a button or link), HTTP requests are generated and sent to the Process Commander server. Then the Web container retrieves one thread from its thread pool to handle each HTTP request.
Since one user can generate multiple HTTP requests, multiple threads may be required to work on the same Requestor object.
If a requestor object waits for more than 120 seconds, the following error appears:
Unable to synchronize on Requestor ZZZZZZZ within 120 seconds
This error may occur during report generation if the report is extremely large, or if the requestor is calling an external program.
Solution
In most cases you can ignore this error, as the situation is temporary and transient. If the error continues to occur and hinders production, you need to explore why this is occurring.
A simple solution to the requestor timeout issue is to clear your browser cache, thus issuing a new request to free up resources to attempt to complete the task.
If the error occurs due to excessive database processing, this is due to a performance issue. Run the Performance Analyzer (PAL) to determine where the bottlenecks occur, and tune your application appropriately.
The following articles can help you to tune your application:
- Overview of the Performance Tools — Provides an overview of how to use PAL and how to use the data generated by PAL.
- Support Play: A methodology for troubleshooting performance — Provides a performance methodology and troubleshooting process.