Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-1648

Improving process compiler so "XOR split could not find at least one valid outgoing connection for split" error is thrown during compile time and not runtime

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Minor Minor
    • 7.3.0.GA
    • 7.1.0.GA
    • jBPM Core
    • None
    • 2018 Week 48-50, 2019 Week 02-04, 2018 Week 51-01

      if you run the attached process:

      with process variable 'choice' set to 1, it gets executed OK.
      If you run it with variable 'choice' set to 2, it fails the error in $subject.

      Full stacktrace:
      https://gist.github.com/agiertli/e421d8fdde50f829361e4fe59d8c8c6b

      When I was step-by-step debugging this issue, I have noticed that if the first XOR has N outgoing connections to N tasks, then all are included in the internal Constraints hashmap. But if it has M outgoing connections to another gateway (similarly as in this image) then only 1 of these M is added to the constraint map.

      The explanation for this behavior from engineering is this:

      The problem with this process is that there is not really a diverge in the process flows as both sequence flows point to the same node - in this case join. If you make them distinct (go to other nodes) then all should work just fine.

      Since the process, the way it's modeled right now, will always fail during runtime, this construct should be caught during compilation time instead of runtime.

        1. image.png
          30 kB
          Anton Giertli
        2. org.jbpm.XOR2.v1.0.bpmn2
          11 kB
          Anton Giertli

              swiderski.maciej Maciej Swiderski (Inactive)
              rhn-support-agiertli Anton Giertli
              Marian Macik Marian Macik
              Marian Macik Marian Macik
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: