Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-8072

Exposing local variable via output mapping fails on parallel gateway with async after

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: 7.7.1, 7.8.0-alpha2
    • Fix Version/s: 7.8.0, 7.8.0-alpha3, 7.7.3
    • Component/s: engine
    • Labels:

      Description

      • given:
        • I expose a local variable via output mapping
      • when:
        • I use this variable after a parallel gateway with async after (see attached screenshot Diagram.png)
      • then:
        • I get the attached error message (see attached log ErrorLog.txt)
      • expected:
        • I can access the variable without any problems

      Hint:

      1. ErrorLog.txt
        10 kB
        Johannes Heinemann
      1. Diagram.png
        38 kB

        Activity

        johannes.heinemann Johannes Heinemann created issue -
        johannes.heinemann Johannes Heinemann made changes -
        Field Original Value New Value
        Attachment ErrorLog.txt [ 24348 ]
        Attachment Diagram.png [ 24349 ]
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I expose a local variable via output mapping
        * when:
        ** I use this variable after a parallel gateway with async after (see attached screenshot)
        * then:
        ** I get the attached error message (see attached log)
        * expected:
        ** I can access the variable without any problems

        *Hint:*
        * See the provided test case for the details
        * given:
        ** I expose a local variable via output mapping
        * when:
        ** I use this variable after a parallel gateway with async after (see attached screenshot [^Diagram.png])
        * then:
        ** I get the attached error message (see attached log [^ErrorLog.txt])
        * expected:
        ** I can access the variable without any problems

        *Hint:*
        * See the provided test case for the details
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I expose a local variable via output mapping
        * when:
        ** I use this variable after a parallel gateway with async after (see attached screenshot [^Diagram.png])
        * then:
        ** I get the attached error message (see attached log [^ErrorLog.txt])
        * expected:
        ** I can access the variable without any problems

        *Hint:*
        * See the provided test case for the details
        * given:
        ** I expose a local variable via output mapping
        * when:
        ** I use this variable after a parallel gateway with async after (see attached screenshot [^Diagram.png])
        * then:
        ** I get the attached error message (see attached log [^ErrorLog.txt])
        * expected:
        ** I can access the variable without any problems

        *Hint:*
        * See the [provided test case|https://github.com/camunda/camunda-bpm-platform/commit/dcec0c89be2c60b81aa1f448101fba635ee8909b] for the details
        johannes.heinemann Johannes Heinemann made changes -
        Link This issue is related to SUPPORT-3522 [ SUPPORT-3522 ]
        matthijs.burke Matthijs Burke made changes -
        Link This issue is depended on by SUPPORT-3522 [ SUPPORT-3522 ]
        matthijs.burke Matthijs Burke made changes -
        Link This issue is related to SUPPORT-3522 [ SUPPORT-3522 ]
        matthijs.burke Matthijs Burke made changes -
        Fix Version/s 7.7.x [ 14699 ]
        Fix Version/s 7.8.x [ 14900 ]
        Hide
        roman.smirnov Smirnov Roman added a comment -

        I think the problem is, that the flag isConcurrentLocal on the exposed variable is set to true. When the parallel gateway will be executed a concurrent execution will be created and the exposed variable is moved to the concurrent execution (see [1]).

        [1]: https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/persistence/entity/ExecutionEntity.java#L1119

        Show
        roman.smirnov Smirnov Roman added a comment - I think the problem is, that the flag isConcurrentLocal on the exposed variable is set to true . When the parallel gateway will be executed a concurrent execution will be created and the exposed variable is moved to the concurrent execution (see [1] ). [1] : https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/persistence/entity/ExecutionEntity.java#L1119
        roman.smirnov Smirnov Roman made changes -
        Assignee Tassilo Weidner [ tassilo.weidner ]
        roman.smirnov Smirnov Roman made changes -
        Fix Version/s 7.8.0 [ 14894 ]
        Fix Version/s 7.8.x [ 14900 ]
        svetlana.dorokhova Svetlana Dorokhova made changes -
        Affects Version/s 7.8.0-alpha2 [ 14906 ]
        roman.smirnov Smirnov Roman made changes -
        Rank Ranked higher
        roman.smirnov Smirnov Roman made changes -
        Rank Ranked higher
        roman.smirnov Smirnov Roman made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        tassilo.weidner Tassilo Weidner made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Original Estimate 0 minutes [ 0 ]
        Remaining Estimate 0 minutes [ 0 ]
        Assignee Tassilo Weidner [ tassilo.weidner ] Svetlana Dorokhova [ svetlana.dorokhova ]
        Resolution Fixed [ 1 ]
        roman.smirnov Smirnov Roman made changes -
        Fix Version/s 7.7.3 [ 14910 ]
        Fix Version/s 7.7.x [ 14699 ]
        svetlana.dorokhova Svetlana Dorokhova made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        tassilo.weidner Tassilo Weidner made changes -
        Fix Version/s 7.8.0-alpha3 [ 14907 ]
        Hide
        maik.albrecht@keytech.de Maik Albrecht added a comment -

        @Svetlana Dorokhova
        Is there a way to adjust this, if we only run the engine with the REST API. We are NON-JAVA Developers.

        Show
        maik.albrecht@keytech.de Maik Albrecht added a comment - @Svetlana Dorokhova Is there a way to adjust this, if we only run the engine with the REST API. We are NON-JAVA Developers.
        Hide
        svetlana.dorokhova Svetlana Dorokhova added a comment - - edited

        Hi Maik Albrecht,
        sorry, but I did not understand your question. The fix was done deep inside process engine, so it must fix the problem in general, no matter which API are you using. Do you have specific problem, related with this ticket? Could you please describe it?

        Best regards,
        Svetlana

        Show
        svetlana.dorokhova Svetlana Dorokhova added a comment - - edited Hi Maik Albrecht , sorry, but I did not understand your question. The fix was done deep inside process engine, so it must fix the problem in general, no matter which API are you using. Do you have specific problem, related with this ticket? Could you please describe it? Best regards, Svetlana
        Hide
        maik.albrecht@keytech.de Maik Albrecht added a comment - - edited

        Hi @Svetlana Dorokhova,
        sorry for my mistake, I see we have a older Version.

        Show
        maik.albrecht@keytech.de Maik Albrecht added a comment - - edited Hi @Svetlana Dorokhova, sorry for my mistake, I see we have a older Version.

          People

          • Assignee:
            svetlana.dorokhova Svetlana Dorokhova
            Reporter:
            johannes.heinemann Johannes Heinemann
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development