3 Replies Latest reply on Oct 25, 2007 1:59 PM by Nav Aileni

    Problem with Fork and Join Node

    sulakshana injumuri Newbie

      hai ,

      I am using Fork and Join Node in my example .Like

      Fork -->Node1--->Node2--->Join


      when i given the signal to fork it executing Node1 only after that it raises the exception like



      org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#16786]
      at org.hibernate.persister.entity.AbstractEntityPersister.forceVersionIncrement(AbstractEntityPersister.java:1193)
      at org.hibernate.event.def.AbstractLockUpgradeEventListener.upgradeLock(AbstractLockUpgradeEventListener.java:82)
      at org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEventListener.java:64)
      at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:584)
      at org.hibernate.impl.SessionImpl.lock(SessionImpl.java:576)
      at org.jbpm.graph.node.Join.execute(Join.java:109)
      at org.jbpm.graph.def.Node.enter(Node.java:318)
      at org.jbpm.graph.def.Transition.take(Transition.java:151)
      at org.jbpm.graph.def.Node.leave(Node.java:393)
      at org.jbpm.graph.def.Node.leave(Node.java:357)
      at org.jbpm.graph.def.Node.execute(Node.java:349)
      at org.jbpm.graph.def.Node.enter(Node.java:318)
      at org.jbpm.graph.def.Transition.take(Transition.java:151)
      at org.jbpm.graph.def.Node.leave(Node.java:393)
      at org.jbpm.graph.def.Node.leave(Node.java:368)
      at org.jbpm.graph.node.Fork.execute(Fork.java:140)
      at org.jbpm.graph.def.Node.enter(Node.java:318)
      at org.jbpm.graph.def.Transition.take(Transition.java:151)
      at org.jbpm.graph.def.Node.leave(Node.java:393)
      at org.jbpm.graph.node.StartState.leave(StartState.java:70)
      at org.jbpm.graph.exe.Token.signal(Token.java:194)
      at org.jbpm.graph.exe.Token.signal(Token.java:139)
      at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:251)
      at com.iton.JoinForkServlet.doPost(JoinForkServlet.java:75)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol
      .java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Thread.java:595)


      How do we execute those Nodes parally.


      and i also tried with async='true' in my two Nodes
      but again it goes to Fork Node only not to the EndState .

      Please Clarify me when they are executed Parally.

        • 1. Re: Problem with Fork and Join Node
          Ronald van Kuijk Master

          more info needed and btw, why is there a fork in the sequence above?

          • 2. Re: Problem with Fork and Join Node
            Edward Staub Expert

            What database is in use?
            What transaction isolation is in place?
            What version of JBPM are you using?

            • 3. Re: Problem with Fork and Join Node
              Nav Aileni Newbie

              Fork and Join works in jboss app server but fails in Weblogic 9.1
              org.hibernate.StaleObjectStateException: Row was updated or deleted by another t
              ransaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#2
              282]
              at org.hibernate.persister.entity.AbstractEntityPersister.forceVersionIn
              crement(AbstractEntityPersister.java:1235)
              at org.hibernate.event.def.AbstractLockUpgradeEventListener.upgradeLock(
              AbstractLockUpgradeEventListener.java:82)
              at org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEv
              entListener.java:64)
              at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:584)
              at org.hibernate.impl.SessionImpl.lock(SessionImpl.java:576)
              at org.jbpm.graph.node.Join.execute(Join.java:109)
              at org.jbpm.graph.def.Node.enter(Node.java:318)
              at sun.reflect.GeneratedMethodAccessor360.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
              sorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:585)
              at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyI
              nitializer.java:157)
              at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$f476c7f6.enter()
              at org.jbpm.graph.def.Transition.take(Transition.java:151)
              at org.jbpm.graph.def.Node.leave(Node.java:393)