[jboss-user] [jBPM Users] - jBPM stops processing

hauch do-not-reply at jboss.com
Thu Sep 24 06:28:11 EDT 2009


I'm running jBPM in version 3.2.2 and use MySQL as database.

If I try to store a variable which exceeds the max size for TEXT on the executioncontext (65536), I get some exceptions:
anonymous wrote : 
  | 2009-09-23 15:44:50,045 ERROR [org.jbpm.job.executor.JobExecutorThread] problem committing job execution transaction
  | org.jbpm.JbpmException: problem closing services {persistence=org.jbpm.JbpmException: couldn't commit JTA transaction}
  | 	at org.jbpm.svc.Services.close(Services.java:245)
  | 	at org.jbpm.JbpmContext.close(JbpmContext.java:139)
  | 	at org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:184)
  | 	at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
  | Caused by: org.jbpm.JbpmException: couldn't commit JTA transaction
  | 	at org.jbpm.persistence.jta.JtaDbPersistenceService.endJtaTransaction(JtaDbPersistenceService.java:78)
  | 	at org.jbpm.persistence.jta.JtaDbPersistenceService.close(JtaDbPersistenceService.java:37)
  | 	at org.jbpm.svc.Services.close(Services.java:225)
  | 	... 3 more
  | Caused by: 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
  | 	at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1401)
  | 	at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
  | 	at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
  | 	at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
  | 	at org.jbpm.persistence.jta.JtaDbPersistenceService.endJtaTransaction(JtaDbPersistenceService.java:76)
  | 	... 5 more
  | Caused by: org.hibernate.exception.GenericJDBCException: could not update: [org.jbpm.context.exe.variableinstance.StringInstance#400587]
  | 	at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
  | 	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
  | 	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2425)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2307)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2607)
  | 	at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:92)
  | 	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:234)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:142)
  | 	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
  | 	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
  | 	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
  | 	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
  | 	at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59)
  | 	at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
  | 	at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
  | 	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:1389)
  | 	... 9 more
  | Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'STRINGVALUE_' at row 1
  | 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
  | 	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
  | 	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
  | 	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
  | 	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
  | 	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
  | 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)
  | 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)
  | 	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922)
  | 	at org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(CachedPreparedStatement.java:95)
  | 	at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:251)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2407)
  | 	... 25 more
  | 

Fair enough - I asked for it.

My problem is that after these exceptions processing of all running instances stops. New instances are left in start state.
The log is - a part from above - utterly empty.
I am able to create new instances, so the db is still responding.
I don't if it means anything but (as indicated by the stacktrace) the execution is triggered from the JobExecutor.

Is this a known phenomenon/expected behaviour - and can I do anything to prevent it?

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

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



More information about the jboss-user mailing list