[jboss-user] [JBossCache] - probable bug discovered --- failure acquiring lock

indrit do-not-reply at jboss.com
Tue Oct 31 09:18:29 EST 2006


Hello, 

I have the following problem:

using jboss cache as a simple container for the GT tickets of a CAS server on a cluster based upon WebSphere 6 application server and running on two Solaris machines I'm getting on one of these machines an exception(please see the bottom of this page) when adding a new entry on the cache. I'm using the following config:

  | <attribute name="TransactionManagerLookupClass">org.jboss.cache.GenericTransactionManagerLookup</attribute>
  | <attribute name="NodeLockingScheme">PESSIMISTIC</attribute>
  | <attribute name="IsolationLevel">READ_UNCOMMITTED</attribute> 
  | 

It seems the the code try to synchronise over a QueuedSemaphore object and waits for a notify that never arrives.... 

Can be this a jboss cache bug (because for some reason maybe a lock over the tree hasn't been released...) ??

The exception is:

ERROR JBossCacheTicketRegistry:50
  |  - org.jboss.cache.lock.TimeoutException: failure acquiring lock: fqn=/ticket, caller=Thread[WebCon
  | tainer : 0,5,main], lock=write owner=GlobalTransaction:<"IP ADDRESS:PORT">:191 (org.jboss.cache.lo
  | ck.LockStrategyReadUncommitted at 13f82ef)
  | org.jboss.cache.lock.TimeoutException: failure acquiring lock: fqn=/ticket, caller=Thread[WebContai
  | ner : 0,5,main], lock=write owner=GlobalTransaction:<"IP ADDRESS:PORT">:191 (org.jboss.cache.lock.
  | LockStrategyReadUncommitted at 13f82ef)
  |         at org.jboss.cache.Node.acquire(Node.java:407)
  |         at org.jboss.cache.interceptors.PessimisticLockInterceptor.lock(PessimisticLockInterceptor.
  | java:228)
  |         at org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockIntercepto
  | r.java:160)
  |         at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
  |         at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at org.jboss.cache.interceptors.ReplicationInterceptor.invoke(ReplicationInterceptor.java:3
  | 4)
  |         at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:345)
  |         at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:156)
  |         at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  |         at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:157)
  |         at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5520)
  |         at org.jboss.cache.TreeCache.put(TreeCache.java:3678)
  |         at org.jboss.cache.TreeCache.put(TreeCache.java:3616)
  |         at org.jasig.cas.ticket.registry.JBossCacheTicketRegistry.addTicket(JBossCacheTicketRegistr
  | y.java:48)
  |         at org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthent
  | icationServiceImpl.java:290)
  | ......
  | ........
  | Caused by: org.jboss.cache.lock.TimeoutException: write lock for /ticket could not be acquired afte
  | r 10000 ms. Locks: Read lock owners: []
  | Write lock owner: GlobalTransaction:<"IP ADDRESS:PORT">:191
  |  (caller=Thread[WebContainer : 0,5,main], lock info: write owner=GlobalTransaction:
  |  <"IP ADDRESS:PORT">:191 (org.jboss.cache.lock.LockStrategyReadUncommitted at 13f82ef))
  |         at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:202)
  |         at org.jboss.cache.Node.acquireWriteLock(Node.java:431)
  |         at org.jboss.cache.Node.acquire(Node.java:386)
  |         ... 50 more
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3982080#3982080

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3982080



More information about the jboss-user mailing list