[jboss-user] [JBoss Cache] - How to prevent Jboss cache lock TimeoutException/deaklocks

Wei Xue do-not-reply at jboss.com
Fri Jul 23 17:36:57 EDT 2010


Wei Xue [http://community.jboss.org/people/weix] created the discussion

"How to prevent Jboss cache lock TimeoutException/deaklocks"

To view the discussion, visit: http://community.jboss.org/message/554226#554226

--------------------------------------------------------------
Hi,

We are using jboss cache 3.2.0 in our application which is deployed on jboss 5.1.0.GA  AS. I have setup jBoss clustering using farm deployment
with two nodes running in a cluster.

During load testing, we encountered lockTimeoutException on both nodes. I grabbed a piece of information from server.log on two nodes.
Node 1:
2010-07-21 08:31:34,841 WARN  [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (pool-22-thread-560) [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for  mailto:com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple at 746fee83 com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple at 746fee83
org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [*/serverData/31510/serverParams*] after [15000] milliseconds for requestor [GlobalTransaction:<10.17.223.88:58023>:3586]! Lock held by [GlobalTransaction:<10.17.223.89:55770>:3588]

Node 2:
2010-07-21 08:31:32,064 WARN  [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-37) [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for  mailto:com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple at 2fdc3f43 com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple at 2fdc3f43
org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [*/serverData/31510/serverParams*] after [15000] milliseconds for requestor [GlobalTransaction:<10.17.223.89:55770>:3588]! Lock held by [GlobalTransaction:<10.17.223.88:58023>:3586]

You can find they are blocked by each other. Conceptually one should get a lock, and the other will get lock TimeoutException. But why no one
get this lock?

Here is my jboss cache configuration regarding the locking:
<locking
    isolationLevel="REPEATABLE_READ"
    lockAcquisitionTimeout="15000"
    lockParentForChildInsertRemove="false"
    concurrencyLevel="5000"
    useLockStriping="false"
    />

How to prevent this happen and why this happens?


Thank you in advance,
Wei

--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/554226#554226]

Start a new discussion in JBoss Cache at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2052]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20100723/422551d3/attachment.html 


More information about the jboss-user mailing list