Portal clustering problem, a JBoss cache issue??
michaelchan Sep 25, 2008 9:14 AMI get the following exception when clustering jboss portal on two nodes: I only extract first few lines of each exception here. Could someone please help me solve this? I suspected that it is a JBoss Cache configuration issue.
09:55:53,804 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@503e4b
java.lang.RuntimeException:
Caused by: org.jboss.cache.lock.TimeoutException: failure acquiring lock: fqn=/, caller=GlobalTransaction:<10.0.0.98:34750>:47748, lock=write owner=GlobalTransaction:<10.0.0.98:34750>:47746 (activeReaders=0, activeWriter=Thread[ajp-10.0.0.98-8009-19,5,jboss], waitingReaders=0, waitingWriters=0, waitingUpgrader=0)
at org.jboss.cache.Node.acquire(Node.java:500)
Caused by: org.jboss.cache.lock.TimeoutException: write lock for / could not be acquired after 15000 ms. Locks: Read lock owners: []
Write lock owner: GlobalTransaction:<10.0.0.98:34750>:47746
(caller=GlobalTransaction:<10.0.0.98:34750>:47748, lock info: write owner=GlobalTransaction:<10.0.0.98:34750>:47746 (activeReaders=0, activeWriter=Thread[ajp-10.0.0.98-8009-19,5,jboss], waitingReaders=0, waitingWriters=0, waitingUpgrader=0))
at org.jboss.cache.lock.IdentityLock.acquireWriteLock(IdentityLock.java:206)
at org.jboss.cache.Node.acquireWriteLock(Node.java:529)
at org.jboss.cache.Node.acquire(Node.java:476)
09:55:53,807 WARN [TreeCache] replication failure with method_call optimisticPrepare; id:18(GlobalTransaction:<10.0.0.103:34547>:15349, [_put; id:38(GlobalTransaction:<10.0.0.103:34547>:15349, /org/jboss/portal/core/impl/model/portal/ObjectNodeSecurityConstraint/actions/org.jboss.portal.core.impl.model.portal.ObjectNodeSecurityConstraint.actions#1059, item, CollectionCacheEntry[viewrecursive], true, org.hibernate.cache.OptimisticTreeCache$NonLockingDataVersion@1fe76c6)], null, 10.0.0.103:34547, false) exception
Caused by: org.jboss.cache.lock.TimeoutException: write lock for /org/jboss/portal/core/impl/model/portal/ObjectNodeSecurityConstraint/actions could not be acquired after 15000 ms. Locks: Read lock owners: []
09:55:53,807 WARN [TxInterceptor] Rolling back, exception encountered
javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state
After some googling, i found the following:
https://jira.jboss.org/jira/browse/JBCACHE-955
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4145333#4145333
Looks like it is a bug that is related to jboss cache, is it possible to switch to other caching library for jboss portal? Could someone please give me some advice?
And one more link suggesting that it is a bug with jboss cache
https://jira.jboss.org/jira/browse/JBPORTAL-1626