Hi, everyone

I'm having problems with Jboss cache 3.0 and more specifically I'm having an 
exception:

  | org.jboss.cache.optimistic.DataVersioningException: Version mismatch for 
node 
/persistence.unit:unitName=Project-ear.ear/Project-ejb.jar#project_unit/codelist/ENTITY:
 underlying node with version Ver=0 is newer than workspace node, with version 
org.hibernate.cache.jbc2.util.nonlockingdatavers...@60edcbaf

I'll try to explain the application configuration:
The 'codelist' from above is a cache region with 2 read only entities that are 
never modified in the application or from outside and the queries that retrieve 
them are cached too. This is working just fine as it is. The problem came when 
I added a native SQL query to update one field of one table. The table's entity 
is a parent for more than 70 other entities/tables. I chose native SQL query, 
because when I use hibernate to update the root table, it generates a query 
that joins all its descendants and it's ugly.
One more thing, the native query is executed from a state full quartz job that 
uses a stateless EJB bean.

I can't reproduce the problem. It just appears from time to time on our staging 
environment, for example i've never had the problem on my development Jboss 
server.
My assumption is that the hibernate, the cache and the native query some how 
mixed up, but the query does not have anything in common with the cached 
entities.

I'm using 
jboss-5.0.1.GA with jbpm-3.3.1.GA
default POJO cache that ships with jboss with default configuration
Quartz 1.6.5
Informix 10.0 for DBMS

I tried to isolate the cached entities as mush as possible. I also noticed the 
the exception is thrown while someone is doing 
something on the web interface of the application and I wonder if the problem 
is related with that. May be if the parent table is modified or the 
modification of the table causes the problem. And how the version 0 is newer, 
what is the previous version -1?

Well I thing to stop with the question for now  :) 

Thank you in advance. Any help will be appreciated.

The complete exception is :

  | 10 Jun 2009 14:38:22,593 WARN  [OptimisticTxInterceptor] Caught exception, 
will now set transaction to roll back
  | org.jboss.cache.optimistic.DataVersioningException: Version mismatch for 
node 
/persistence.unit:unitName=Project-ear.ear/Project-ejb.jar#project_unit/codelist/ENTITY:
 underlying node with version Ver=0 is newer than workspace node, with version 
org.hibernate.cache.jbc2.util.nonlockingdatavers...@60edcbaf
  |         at 
org.jboss.cache.interceptors.OptimisticValidatorInterceptor.visitOptimisticPrepareCommand(OptimisticValidatorInterceptor.java:146)
  |         at 
org.jboss.cache.commands.tx.OptimisticPrepareCommand.acceptVisitor(OptimisticPrepareCommand.java:55)
  |         at 
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
  |         at 
org.jboss.cache.interceptors.OptimisticLockingInterceptor.visitOptimisticPrepareCommand(OptimisticLockingInterceptor.java:89)
  |         at 
org.jboss.cache.commands.tx.OptimisticPrepareCommand.acceptVisitor(OptimisticPrepareCommand.java:55)
  |         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.visitOptimisticPrepareCommand(AbstractVisitor.java:155)
  |         at 
org.jboss.cache.commands.tx.OptimisticPrepareCommand.acceptVisitor(OptimisticPrepareCommand.java:55)
  |         at 
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
  |         at 
org.jboss.cache.interceptors.TxInterceptor.runPreparePhase(TxInterceptor.java:638)
  |         at 
org.jboss.cache.interceptors.TxInterceptor$LocalSynchronizationHandler.beforeCompletion(TxInterceptor.java:1041)
  |         at 
org.jboss.cache.interceptors.OrderedSynchronizationHandler.beforeCompletion(OrderedSynchronizationHandler.java:81)
  |         at 
com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
  |         at 
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:263)
  |         at 
com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
  |         at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
  |         at 
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1414)
  |         at 
com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
  |         at 
com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
  |         at org.jboss.aspects.tx.TxPolicy.endTransaction(TxPolicy.java:170)
  |         at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:87)
  |         at 
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
  |         at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  |         at 
org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219)
  |         at 
org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
  |         at 
org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
  |         at $Proxy342.markMessageAsSent(Unknown Source)
  |         at com.company.client.project.quartz.jobs.CCNJob.execute(Unknown 
Source)
  |         at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
  |         at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
  | 10 Jun 2009 14:38:22,594 WARN  [arjLoggerI18N] 
[com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] 
TwoPhaseCoordinator.beforeCompletion - failed for 
com.arjuna.ats.internal.jta.resources.arjunacore.synchronizationim...@4718072d
  |  

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

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244564
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to