2 Replies Latest reply on Sep 17, 2009 8:54 AM by michaelholtzman

    Fork branch runs through Join node

    michaelholtzman

      Greetings. We are trying to diagnose an intermittent problem: while one branch of a Fork is in a wait state, the other branch's child token continues through the join and continues executing subsequent process steps.

       Fork
       / \
       Task Process Step
       \ /
       Join
       |
       <more steps>
      

      The first branch is waiting at the task node.
      The second branch executes the process step, hits the join, and continues executing steps as a child of the root token. The root token remains at the Fork node as expected.

      Any theory on what might be causing this behavior? It only happens once in a long while, and we have no way to reproduce it in a test environment.

      Using jBPM 3.1.2 with some bug fixes from newer versions.

      Thanx in advance for any thoughts.

        • 1. Re: Fork branch runs through Join node
          kukeltje

          Michael,

          Has been a known issue up to jBPM 3.2.x (not sure if x=3 or something different) with nodes that directly go to the join (e.g. are no wait states) Please search the Jira and maybe find related patches that way that went into 3.2 that you can maybe backport to 3.1. if it is the same issue.

          • 2. Re: Fork branch runs through Join node
            michaelholtzman

            OK, I searched through JIRA.

            I found two fixes that seem related to other problems we are having, but nothing that directly addresses this problem with the join node.

            In 3.2/3.3 a token entering a join locks its parent node. There's a lot of discussion about this and it seems relevant, but in 3.1 there is no equivalent locking mechanism.

            If anyone can supply some details about this, please chime in. I suspect this may also be causing StaleObjectStateException / cannot sync session errors we are seeing.

            Thanx.