[jboss-user] [JBossCache] - java.lang.IllegalStateException: there is already a writer h

mindflyer do-not-reply at jboss.com
Thu Mar 22 12:10:11 EDT 2007


I have problem with JBossCache 1.4.1.SP3  (and JBoss 4.0.5.ga with hibernate 3.2.2.ga)

I configured optimistic mode and catched exception:
DEBUG [org.jboss.cache.interceptors.OptimisticLockingInterceptor] Caught exception attempting to lock nodes 
  | java.lang.IllegalStateException: there is already a writer holding the lock: GlobalTransaction:<null>:2311
  | 	at org.jboss.cache.lock.LockMap.setWriterIfNotNull(LockMap.java:96)
  | 	at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:208)
  | 	at org.jboss.cache.Node.acquireWriteLock(Node.java:529)
  | 	at org.jboss.cache.Node.acquire(Node.java:476)
  | 	at org.jboss.cache.interceptors.OptimisticLockingInterceptor.lockNodes(OptimisticLockingInterceptor.java:153)
  | 	at org.jboss.cache.interceptors.OptimisticLockingInterceptor.invoke(OptimisticLockingInterceptor.java:80)
  | 	at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
  | 	at org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:873)
  | 	at org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1138)
  | 	at org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:75)
  | 	at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
  | 	at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
  | 	at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
  | 	at org.jboss.tm.TxManager.commit(TxManager.java:240)
  | 	at org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:369)
  | 	at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:160)
  | 	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:5863)
  | 	at org.jboss.cache.TreeCache.put(TreeCache.java:3833)
  | 	at org.jboss.cache.TreeCache.put(TreeCache.java:3507)
  | 	at org.hibernate.cache.OptimisticTreeCache.writeLoad(OptimisticTreeCache.java:84)
  | 	at org.hibernate.cache.TransactionalCache.put(TransactionalCache.java:55)
  | 	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:156)
  | 	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
  | 	at org.hibernate.loader.Loader.doQuery(Loader.java:717)
  | 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
  | 	at org.hibernate.loader.Loader.doList(Loader.java:2211)
  | 	at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2127)
  | 	at org.hibernate.loader.Loader.list(Loader.java:2087)
  | 	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
  | 	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
  | 	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
  | 	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
  | 	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  | 	at net.uk.topdog.td2.common.dao.server.PersistentUnTypedEmfDAO.getCollection(PersistentUnTypedEmfDAO.java:316)
  | 

I found similar problem http://jira.jboss.com/jira/browse/JBCACHE-740
and see Fix Version/s: 2.0.0.BETA1.  
The page http://labs.jboss.com/portal/jbosscache/compatibility/index.html tells that JBossCache2 is compatible only with JBoss5. Is it true?
I can't use JBoss5 now and want to use optimistic locking very much :)
Does anyone know if this problem is gonna be fixed in version 1.4.x?


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

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



More information about the jboss-user mailing list