1 Reply Latest reply on Apr 2, 2007 9:13 AM by afzal34

    PROBLEM WITH BPEL  USING JBPM_TIMER WHEN JBOSS IS RESTARTED

    afzal34

      Hello,

      I am using a BPEL process which has a PICK element with <onAlarm for="'PT15M'">. Once process is intiated the BPEL process inserts record to JBPM_TIMER table with appropriate DUEDATE_. Under normal circumstances the process runs fine. But if process in not completed with record still in JBPM_TIMER , and I restart the Jboss application server the next time when the pick wakes up on timer I get the exception from Hibernate saying that deadlock situation in database. I am under impression here the jboss is caching the timer in memory and trying to update two timers.

      Here is my environment and exception stackTrace any help is appreciated.
      JBOSS : 4.0.3 SP1
      DB - SYBASE 12.5
      JBPM_BPEL -- BETA 2

      thank you
      Afzal



      Caused by: org.jbpm.graph.def.DelegationException
      at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:352) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.raiseException() at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.raiseException() at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.raiseException() at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.bpel.def.Activity.enter(Activity.java:106) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.StructuredActivity$End$$EnhancerByCGLIB$$756f66da.enter()
      at org.jbpm.graph.def.Transition.take(Transition.java:119) at org.jbpm.graph.def.Node.leave(Node.java:383)
      at org.jbpm.bpel.def.Activity.leave(Activity.java:171) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.StructuredActivity$End$$EnhancerByCGLIB$$756f66da.leave() at org.jbpm.bpel.def.StructuredActivity.leave(StructuredActivity.java:60) at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101) ... 382 more
      Caused by: org.jbpm.graph.def.DelegationException at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:352) at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.raiseException() at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.graph.def.GraphElement$$FastClassByCGLIB$$7a7d6aa6.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.raiseException() at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:346) at org.jbpm.bpel.def.Activity.enter(Activity.java:106) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.StructuredActivity$End$$EnhancerByCGLIB$$756f66da.enter()
      at org.jbpm.graph.def.Transition.take(Transition.java:119) at org.jbpm.graph.def.Node.leave(Node.java:383)
      at org.jbpm.bpel.def.Activity.leave(Activity.java:171) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.StructuredActivity$End$$EnhancerByCGLIB$$756f66da.leave() at org.jbpm.bpel.def.StructuredActivity.leave(StructuredActivity.java:60) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.leave() at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
      ... 396 more
      Caused by: java.lang.NullPointerException
      at org.jbpm.bpel.exe.ScopeInstance.completed(ScopeInstance.java:89) at org.jbpm.bpel.exe.ScopeInstance$$FastClassByCGLIB$$9f4730a3.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.exe.ScopeInstance$$EnhancerByCGLIB$$4a30b613.completed() at org.jbpm.bpel.def.Activity.leave(Activity.java:180) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.StructuredActivity$End$$EnhancerByCGLIB$$756f66da.leave() at org.jbpm.bpel.def.StructuredActivity.leave(StructuredActivity.java:60) at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke()
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136) at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.leave() at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101) ... 414 more
      17:47:53,740 WARN [JDBCExceptionReporter] SQL Error: 1205, SQLState: 4000117:47:53,740 ERROR [JDBCExceptionReporter] Your server command (family id #0, process id #541) encountered a deadlock situation. Please re-run your command.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 511, SQLState: ZZZZZ17:47:53,805 ERROR [JDBCExceptionReporter] Attempt to update or insert row failed because resultant row of size 4024 bytes is larger than the maximum size (1961 bytes) allowed for this table.
      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 3621, SQLState: 01ZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Command has been aborted.
      17:47:53,805 ERROR [SchedulerSession] org.hibernate.exception.GenericJDBCException: could not insert: [org.jbpm.scheduler.exe.Timer]17:47:53,938 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)org.hibernate.AssertionFailure: null id in org.jbpm.graph.log.NodeLog entry (don't flush the Session after an exception occurs) at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:48) at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:140) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:97) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:905)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:345) at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59) at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1473) at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1092) at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:306)
      at org.jboss.tm.TxManager.commit(TxManager.java:224) at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:126) at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:146)
      at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136)
      at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.leave()
      at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
      ... 414 more
      17:47:53,740 WARN [JDBCExceptionReporter] SQL Error: 1205, SQLState: 40001
      17:47:53,740 ERROR [JDBCExceptionReporter] Your server command (family id #0, process id #541) encountered a deadlock situation. Please re-run your command.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 511, SQLState: ZZZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Attempt to update or insert row failed because resultant row of size 4024 bytes is larger than the maximum size (1961 bytes) allowed for this table.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 3621, SQLState: 01ZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Command has been aborted.

      17:47:53,805 ERROR [SchedulerSession] org.hibernate.exception.GenericJDBCException: could not insert: [org.jbpm.scheduler.exe.Timer]
      17:47:53,938 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
      org.hibernate.AssertionFailure: null id in org.jbpm.graph.log.NodeLog entry (don't flush the Session after an exception occurs)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:48)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:140)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:97) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:905)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:345) at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59) at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1473)
      at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.leave()
      at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
      ... 414 more
      17:47:53,740 WARN [JDBCExceptionReporter] SQL Error: 1205, SQLState: 40001
      17:47:53,740 ERROR [JDBCExceptionReporter] Your server command (family id #0, process id #541) encountered a deadlock situation. Please re-run your command.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 511, SQLState: ZZZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Attempt to update or insert row failed because resultant row of size 4024 bytes is larger than the maximum size (1961 bytes) allowed for this table.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 3621, SQLState: 01ZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Command has been aborted.

      17:47:53,805 ERROR [SchedulerSession] org.hibernate.exception.GenericJDBCException: could not insert: [org.jbpm.scheduler.exe.Timer]
      17:47:53,938 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
      68372,85-92 43%
      at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:136)
      at org.jbpm.bpel.def.CompositeActivity$$EnhancerByCGLIB$$4001fbf3.leave()
      at org.jbpm.bpel.def.StructuredActivity$End.execute(StructuredActivity.java:243)
      at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
      ... 414 more
      17:47:53,740 WARN [JDBCExceptionReporter] SQL Error: 1205, SQLState: 40001
      17:47:53,740 ERROR [JDBCExceptionReporter] Your server command (family id #0, process id #541) encountered a deadlock situation. Please re-run your command.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 511, SQLState: ZZZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Attempt to update or insert row failed because resultant row of size 4024 bytes is larger than the maximum size (1961 bytes) allowed for this table.

      17:47:53,805 WARN [JDBCExceptionReporter] SQL Error: 3621, SQLState: 01ZZZ
      17:47:53,805 ERROR [JDBCExceptionReporter] Command has been aborted.

      17:47:53,805 ERROR [SchedulerSession] org.hibernate.exception.GenericJDBCException: could not insert: [org.jbpm.scheduler.exe.Timer]
      17:47:53,938 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
      org.hibernate.AssertionFailure: null id in org.jbpm.graph.log.NodeLog entry (don't flush the Session after an exception occurs)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:48)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:140)
      at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:97)
      at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:195)
      at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
      at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
      at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:905)
      at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:345)
      at org.hibernate.transaction.CacheSynchronization.beforeCompletion(CacheSynchronization.java:59)
      at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1473)
      at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1092)
      at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:306)
      at org.jboss.tm.TxManager.commit(TxManager.java:224)
      at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:126)
      at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:146)
      at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:162)