[jboss-user] [JBoss Cache POJO Edition] New message: "JBC - JBoss Transactions pair"
Girish Adat
do-not-reply at jboss.com
Tue Jan 19 07:18:40 EST 2010
User development,
A new message was posted in the thread "JBC - JBoss Transactions pair":
http://community.jboss.org/message/520790#520790
Author : Girish Adat
Profile : http://community.jboss.org/people/girishadat
Message:
--------------------------------------------------------------
I have an application with two JBoss PojoCache instances running in same JVM. The application performs some attach operations in the second cache depending on the attach in the first instance of cache and this is implemented using a POJOCacheListener attached to the first cache. I've configured the cache instances to make use of JBoss TS as the transaction manager, instead of the default DummyTransactionManager. The problem is that, I am getting PojoCacheExceptions caused by RollbackException from the JBoss TS. The fraction of occurance is very small - its around 1000 per 250 million attach operations - still it is there.
{quote}
org.jboss.cache.pojo.PojoCacheException: Error creating transaction
at org.jboss.cache.pojo.impl.PojoCacheImpl.setupTransaction(PojoCacheImpl.java:197)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:99)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:93)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:88)
at com.suntec.ecp.services.cluster.ClusterBackbone.syncToCache(ClusterBackbone.java:746)
at com.suntec.ecp.services.cluster.ClusterBackbone.syncInDrCluster(ClusterBackbone.java:713)
at com.suntec.ecp.services.cluster.MainClusterListener.handleEvent(MainClusterListener.java:58)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.cache.pojo.impl.NotificationDispatcher.dispatch(NotificationDispatcher.java:256)
at org.jboss.cache.pojo.impl.NotificationDispatcher.dispatch(NotificationDispatcher.java:237)
at org.jboss.cache.pojo.impl.CacheListenerAdaptor.sendNotification(CacheListenerAdaptor.java:147)
at org.jboss.cache.pojo.impl.CacheListenerAdaptor.nodeModified(CacheListenerAdaptor.java:195)
at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.jboss.cache.notifications.NotifierImpl$ListenerInvocation$1.run(NotifierImpl.java:702)
at org.jboss.cache.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:49)
at org.jboss.cache.notifications.NotifierImpl$ListenerInvocation.invoke(NotifierImpl.java:721)
at org.jboss.cache.notifications.NotifierImpl.notifyNodeModified(NotifierImpl.java:345)
at org.jboss.cache.commands.write.PutKeyValueCommand.perform(PutKeyValueCommand.java:93)
at org.jboss.cache.interceptors.CallInterceptor.invokeCommand(CallInterceptor.java:108)
at org.jboss.cache.interceptors.CallInterceptor.handleAlterCacheMethod(CallInterceptor.java:173)
at org.jboss.cache.interceptors.CallInterceptor.visitPutKeyValueCommand(CallInterceptor.java:131)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.MVCCLockingInterceptor.handlePutKeyValueCommand(MVCCLockingInterceptor.java:102)
at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitPutKeyValueCommand(PrePostProcessingCommandInterceptor.java:88)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:150)
at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:107)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:261)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:250)
at org.jboss.cache.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:65)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:108)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)
at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutKeyValueCommand(InvocationContextInterceptor.java:82)
at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:287)
at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:473)
at org.jboss.cache.pojo.impl.PojoCacheDelegate.putObject(PojoCacheDelegate.java:141)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:102)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:93)
at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(PojoCacheImpl.java:88)
at <package/class name removed>
at <package/class name removed>
at <package/class name removed>
Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.syncwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.syncwhenaborted] Can't register synchronization because the transaction is in aborted state
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronizationImple(TransactionImple.java:476)
at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.registerSynchronization(TransactionImple.java:451)
at org.jboss.cache.pojo.impl.PojoCacheImpl.setupTransaction(PojoCacheImpl.java:193)
... 58 more
{quote}
Can anyone advice me how to solve this problem?
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/520790#520790
More information about the jboss-user
mailing list