Question

How to troubleshoot the Ubiquitous ‘unable to synchronize on requestor’ ERROR in PRPC?

How to troubleshoot the Ubiquitous ‘unable to synchronize on requestor’ ERROR in PRPC?

***Updated by moderator: Lochan to add Categories***

***Updated by moderator: Marissa to close post***

This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.

Comments

Keep up to date on this post and subscribe to comments

March 11, 2015 - 6:59pm

Hi Ankur,

Here is what you can do in order to troubleshoot ‘unable to synchronize on requestor’ error

  1. When a user performs an action (clicks a button or a link), a HTTP request are generated and sent to PRPC.  When a requestor submitted a request and the response does not come back after 120 seconds, the ‘unable to synchronize on requestor’ error will be written to the PegaRULES log file.
  2. A thread dump should also be written to the PegaRULES log file when this error occurs. If not, check to make sure that the setting ‘initialization/ThreadDumps’ is not set to false.
  3. From the ‘unable to synchronize on requestor’ error, find out the thread which is blocking this thread.  For example, you can see below that thread WebContainer : 8 is blocked by WebContainer: 15.

2015-01-12 17:16:05,047 [    WebContainer : 8] [          ] [                    ] (tent.StaticContentResolverImpl) ERROR - Caught unhandled error in StaticContentResolver handling request aInput = {}

  1. com.pega.pegarules.pub.context.RequestorLockException: Unable to synchronize on requestor H3753CA89DBDA2E92B8D71A09B775FE25 within 120 seconds: (thisThread = WebContainer : 8) (originally locked by = WebContainer : 15) (finally locked by = WebContainer : 15)

   4.     Look for the offending thread from the thread dump generated above the ‘unable to synchronize on requestor’ error and investigate why the thread is taking so much time to finish the request.  Usually it can be a long running query or calling an external program.

Hope this helps.

=waikei

March 11, 2015 - 11:05pm
Response to WaikeiKwok_GCS

We saw this occur the other day when the rule-application had the "use project management" checkmark, and for some reason the soap-service connection attempt to the project management url was not succeeding.  In our case, this was apparent from tracing our requestor even before the "unable to synchronize" error occurred.  /Eric

Pega
March 13, 2015 - 9:19am
Response to WaikeiKwok_GCS

Just to add a small detail to Waikei's note :

A thread dump should also be written to the PegaRULES log file when this error occurs

Please note that PRPC has a safety-mechanism where it will only trigger one Thread Dump within a 5 minute period*  - so you if you have multiple 'unable to synchronize on requestor' messages occuring in the same 5 minute window - you will only see one Thread Dump. (* this is configurable )

October 31, 2015 - 8:13pm
Response to WaikeiKwok_GCS

"Unable to synchronize on requestor H4733C449EBB0C1825910F4CF3805427F within 120 seconds" -

1) Where is this "120 Seconds" value set and what's the parameter name?

2) What if there's a genuine requirement where the processing takes more than 120 Seconds?