JBoss Community

How to prevent Jboss cache lock TimeoutException/deaklocks

created by Wei Xue in JBoss Cache - View the full discussion

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 com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@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 com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@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

Start a new discussion in JBoss Cache at Community