Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-2959

Backport the dispatcher thread from jBPM 4 to avoid race conditions with multiple JobExecutor threads

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • jBPM 3.2.10
    • jBPM 3.2.9
    • Runtime Engine
    • None

      Running two or more instances of the following test process leads to deadlock situations in MySQL when multiple JobExecutor threads are active:

      <process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="Process_Timer2">
      <start-state name="start-state1">
      <transition to="node1"></transition>
      </start-state>
      <state name="Sleep">
      <timer duedate="1 seconds" name="sleep_timer_2" transition="OK" repeat="NO">
      <action></action>
      </timer>
      <transition to="node1" name="OK"></transition>
      </state>
      <node name="node1">
      <action class="Wait"></action>
      <transition to="Sleep"></transition>
      </node>
      </process-definition>

      The Wait class does nothing more than sleep for a second before continuing the execution:

      public void execute(ExecutionContext executionContext) throws Exception

      { Thread.sleep(1000); executionContext.leaveNode(); }

              aguizar_jira Alejandro Guizar (Inactive)
              rhn-support-mputz Martin Weiler (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: