Well, good / bad news here...

The good news is that by upgrading to Hibernate 3.2 CR 1 and using the 
OptimisticTreeCacheProvider instead of the default TreeCacheProvider, we were 
able to get past the basic issue of puts not taking effect in the cache (which 
was the root of issue #2 described below).

The bad news is that we get a variety of new exceptions like the following:


  | 156000 [PoolThread-48] WARN  org.jboss.cache.interceptors.TxInterceptor  - 
Rolling back, exception encountered
  | java.lang.RuntimeException: 
  |     at 
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1033)
  |     at 
org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:72)
  |     at 
org.objectweb.jotm.SubCoordinator.doBeforeCompletion(SubCoordinator.java:1443)
  |     at 
org.objectweb.jotm.SubCoordinator.commit_one_phase(SubCoordinator.java:407)
  |     at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:224)
  |     at org.objectweb.jotm.Current.commit(Current.java:475)
  |     at 
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:325)
  | .....
  | Caused by: org.jboss.cache.CacheException: unable to validate nodes
  |     at 
org.jboss.cache.interceptors.OptimisticValidatorInterceptor.validateNodes(OptimisticValidatorInterceptor.java:109)
  |     at 
org.jboss.cache.interceptors.OptimisticValidatorInterceptor.invoke(OptimisticValidatorInterceptor.java:64)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.OptimisticLockingInterceptor.invoke(OptimisticLockingInterceptor.java:87)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.InvalidationInterceptor.invoke(InvalidationInterceptor.java:54)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:753)
  |     at 
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1011)
  |     ... 49 more
  | 

followed immediately by many write lock exceptions:


  | 171000 [PoolThread-49] ERROR org.jboss.cache.lock.IdentityLock  - write 
lock for /com/inventive/altona/orm/School could not be acquired after 15000 ms. 
Locks: Read lock owners: {}
  | Write lock owner: GlobalTransaction:<10.40.58.21:3438>:1199
  |  (caller=GlobalTransaction:<10.40.58.21:3438>:1207, lock info: write 
owner=GlobalTransaction:<10.40.58.21:3438>:1199 (activeReaders=0, 
activeWriter=PoolThread-48, waitingReaders=0, waitingWriters=1, 
waitingUpgrader=0))
  | 171000 [PoolThread-49] WARN  org.jboss.cache.interceptors.TxInterceptor  - 
Rolling back, exception encountered
  | java.lang.RuntimeException: 
  |     at 
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1033)
  |     at 
org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:72)
  |     at 
org.objectweb.jotm.SubCoordinator.doBeforeCompletion(SubCoordinator.java:1443)
  |     at 
org.objectweb.jotm.SubCoordinator.commit_one_phase(SubCoordinator.java:407)
  |     at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:224)
  |     at org.objectweb.jotm.Current.commit(Current.java:475)
  |     at 
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:325)
  |     at 
org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:136)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:153)
  |     at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:4786)
  |     at org.jboss.cache.TreeCache.put(TreeCache.java:3224)
  |     at org.jboss.cache.TreeCache.put(TreeCache.java:2919)
  |     at 
org.hibernate.cache.OptimisticTreeCache.writeLoad(OptimisticTreeCache.java:95)
  | .....
  | Caused by: org.jboss.cache.lock.TimeoutException: write lock for 
/com/inventive/altona/orm/School could not be acquired after 15000 ms. Locks: 
Read lock owners: {}
  | Write lock owner: GlobalTransaction:<10.40.58.21:3438>:1199
  |  (caller=GlobalTransaction:<10.40.58.21:3438>:1207, lock info: write 
owner=GlobalTransaction:<10.40.58.21:3438>:1199 (activeReaders=0, 
activeWriter=PoolThread-48, waitingReaders=0, waitingWriters=1, 
waitingUpgrader=0))
  |     at 
org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:185)
  |     at org.jboss.cache.Node.acquireWriteLock(Node.java:557)
  |     at org.jboss.cache.Node.acquire(Node.java:517)
  |     at 
org.jboss.cache.interceptors.OptimisticLockingInterceptor.lockNodes(OptimisticLockingInterceptor.java:141)
  |     at 
org.jboss.cache.interceptors.OptimisticLockingInterceptor.invoke(OptimisticLockingInterceptor.java:68)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.InvalidationInterceptor.invoke(InvalidationInterceptor.java:54)
  |     at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67)
  |     at 
org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:753)
  |     at 
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1011)
  |     ... 49 more
  | 

In addition, it appears as though using the INVALIDATION_ASYNC actually causes 
all other nodes' caches to be emptied (invalidated) when one node's cache is 
written to with a put.

Does anyone have any advice or anything I can try?

Thanks!

Aaron

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

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


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to