Failure at process ending
rafaelle Mar 17, 2006 8:45 AMHi
I have modelled a process definition with some forks-joins, and differents path of execution. After all execution, when de root token arrives to the end-state, I have an exception when jBPM is trying to save the process instance as ended.
This is de output:
14:28:25,354 DEBUG [DbPersistenceServiceFactory] creating persistence service
14:28:25,354 DEBUG [DbPersistenceService] creating hibernate session
14:28:25,354 DEBUG [DbPersistenceService] beginning hibernate transaction
14:28:25,354 DEBUG [JbpmContext] closing JbpmContext
14:28:25,354 DEBUG [Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@13cca0e
14:28:25,354 DEBUG [DbPersistenceService] committing hibernate transaction
14:28:25,354 DEBUG [DbPersistenceService] closing hibernate session
14:28:25,354 DEBUG [Services] closing service 'message': org.jbpm.msg.db.DbMessageService@1f5910e
14:28:25,354 DEBUG [CommandExecutorThread] waiting for more messages
14:28:25,354 DEBUG [StaticNotifier] going to wait for (CMD_EXECUTOR, java.lang.Object@13ac14d)
14:28:25,464 DEBUG [JbpmContextInfo] creating jbpm context with service factories '[message, scheduler, logging, persistence, authentication]'
14:28:25,464 DEBUG [JbpmContext] creating JbpmContext
14:28:25,464 DEBUG [DbPersistenceServiceFactory] creating persistence service
14:28:25,464 DEBUG [DbPersistenceService] creating hibernate session
14:28:25,464 DEBUG [DbPersistenceService] beginning hibernate transaction
14:28:25,464 DEBUG [SchedulerThread] checking for timers
14:28:25,479 DEBUG [SchedulerThread] found timer timer(Temporizador [00001200603170100013],14:25:30,000)
14:28:25,479 DEBUG [SchedulerThread] executing timer 'timer(Temporizador [00001200603170100013],14:25:30,000)'
14:28:25,495 DEBUG [GraphElement] event 'before-signal' on 'Node(EsperarFinVentana)' for 'Token(/tr2/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'node-leave' on 'Node(EsperarFinVentana)' for 'Token(/tr2/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'transition' on 'Transition(tr1)' for 'Token(/tr2/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'node-enter' on 'Join(join1)' for 'Token(/tr2/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'node-leave' on 'Join(join1)' for 'Token(/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'transition' on 'Transition(tr1)' for 'Token(/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'node-enter' on 'Join(join2)' for 'Token(/tr2)'
14:28:25,495 DEBUG [GraphElement] event 'node-leave' on 'Join(join2)' for 'Token(/)'
14:28:25,510 DEBUG [GraphElement] event 'transition' on 'Transition(tr1)' for 'Token(/)'
14:28:25,510 DEBUG [GraphElement] event 'node-enter' on 'EndState(end3)' for 'Token(/)'
14:28:25,510 DEBUG [GraphElement] event 'process-end' on 'ProcessDefinition(01OT)' for 'Token(/)'
14:28:25,526 DEBUG [GraphElement] event 'after-signal' on 'Node(EsperarFinVentana)' for 'Token(/tr2/tr2)'
14:28:27,511 DEBUG [Services] executing default save operations
14:28:27,511 DEBUG [HibernateSaveOperation] saving process instance
14:28:27,511 DEBUG [SaveLogsOperation] flushing logs to logging service.
14:28:27,526 DEBUG [CascadeSaveOperation] cascading save of 'org.jbpm.graph.exe.ProcessInstance@130b682'
14:28:27,526 DEBUG [SchedulerThread] deleting timer 'timer(Temporizador [00001200603170100013],14:25:30,000)'
14:28:27,526 DEBUG [JbpmContext] closing JbpmContext
14:28:27,526 DEBUG [Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@11b456f
14:28:27,526 DEBUG [DbPersistenceService] committing hibernate transaction
14:28:27,542 ERROR [AbstractBatcher] Exception executing batch:
org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:161)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:138)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
14:28:27,542 ERROR [AbstractFlushingEventListener] Could not synchronize database state with session
org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:161)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:138)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
14:28:27,573 INFO [STDOUT] org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
14:28:27,573 INFO [STDOUT] at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:171)
14:28:27,573 INFO [STDOUT] at org.jbpm.svc.Services.close(Services.java:211)
14:28:27,573 INFO [STDOUT] at org.jbpm.JbpmContext.close(JbpmContext.java:138)
14:28:27,573 INFO [STDOUT] at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
14:28:27,573 INFO [STDOUT] at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
14:28:27,573 INFO [STDOUT] Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected:
14:28:27,573 INFO [STDOUT] at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
14:28:27,573 INFO [STDOUT] at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
14:28:27,573 INFO [STDOUT] at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
14:28:27,573 INFO [STDOUT] at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
14:28:27,573 INFO [STDOUT] at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
14:28:27,573 INFO [STDOUT] at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
14:28:27,573 INFO [STDOUT] at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
14:28:27,573 INFO [STDOUT] at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
14:28:27,573 INFO [STDOUT] at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
14:28:27,573 INFO [STDOUT] at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
14:28:27,573 INFO [STDOUT] at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
14:28:27,573 INFO [STDOUT] at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:161)
14:28:27,573 INFO [STDOUT] ... 4 more
14:28:27,573 ERROR [Services] problem closing service 'persistence'
org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:171)
at org.jbpm.svc.Services.close(Services.java:211)
at org.jbpm.JbpmContext.close(JbpmContext.java:138)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:161)
... 4 more
14:28:27,573 DEBUG [Services] closing service 'scheduler': org.jbpm.scheduler.db.DbSchedulerService@19dd520
14:28:27,573 DEBUG [Services] closing service 'logging': org.jbpm.logging.db.DbLoggingService@1136019
14:28:27,573 INFO [SchedulerThread] runtime exception while executing timers
org.jbpm.JbpmException: problem closing services {persistence=org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session}
at org.jbpm.svc.Services.close(Services.java:223)
at org.jbpm.JbpmContext.close(JbpmContext.java:138)
at org.jbpm.scheduler.impl.SchedulerThread.executeTimers(SchedulerThread.java:161)
at org.jbpm.scheduler.impl.SchedulerThread.run(SchedulerThread.java:70)
Caused by: org.jbpm.persistence.JbpmPersistenceException: couldn't commit hibernate session
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:171)
at org.jbpm.svc.Services.close(Services.java:211)
... 3 more
Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1
at org.hibernate.jdbc.BatchingBatcher.checkRowCount(BatchingBatcher.java:93)
at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:79)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:230)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:145)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:980)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:353)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:161)
... 4 more
I were thinking that it was caused because I had not implemented de join nodes, but it still happends now with the pairs fork-join made correctly.
Any idea?
Thx very much.