Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

"Unable to synchronize on requestor"exception

SA-12529

Summary



"Unable to synchronize on requestor" exception generated while the application threads wait to acquire lock on pr_sys_locks table.
Database is DB2 and application server is WAS.


Error Messages



Unable to synchronize the requestor for 120 seconds.
"WebContainer : 41" Id=3963319 in RUNNABLE (running in native)
BlockedCount : 1, BlockedTime : -1, WaitedCount : 470764, WaitedTime : -1
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:163)
at java.net.SocketInputStream.read(SocketInputStream.java:133)
at com.ibm.db2.jcc.t4.x.b(x.java:208)
at com.ibm.db2.jcc.t4.x.c(x.java:360)
at com.ibm.db2.jcc.t4.x.c(x.java:473)
at com.ibm.db2.jcc.t4.x.v(x.java:1241)
at com.ibm.db2.jcc.t4.ab.b(ab.java:40)
at com.ibm.db2.jcc.t4.p.a(p.java:32)
at com.ibm.db2.jcc.t4.qb.i(qb.java:135)
at com.ibm.db2.jcc.am.io.gb(io.java:2112)
at com.ibm.db2.jcc.am.jo.rc(jo.java:3526)
at com.ibm.db2.jcc.am.jo.b(jo.java:4322)
at com.ibm.db2.jcc.am.jo.ec(jo.java:735)
at com.ibm.db2.jcc.am.jo.executeQuery(jo.java:708)
- locked [email protected]
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteQuery(WSJdbcPreparedStatement.java:1112)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:714)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.executeQuery(DatabasePreparedStatementImpl.java:405)
.
.
.
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)

Locked synchronizers: count = 1
- [email protected]342a19


Steps to Reproduce



1. Log in to the system.
2. Click on worklist.
3. Click on case.
4. Open the case, try to submit the case.


Root Cause

The root cause of this problem is defect/misconfiguration in the operating environment. 

DB2 defaults to the correct transaction isolation level, READ_COMMITTED. WebSphere automatically defaults its isolation level to REPEATABLE_READ, which overrides the correct level in the database. This level causes many more locks to be used.

Refer the PDN article linked here to know more: http://pdn.pega.com/node/1504


Resolution

This issue is resolved through the following local-change.

modify ‘WebSphereDefaultIsolationLevel’ custom property for WebSphere embedded ConnectJDBC Provider value to 2.

Published July 31, 2015 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us