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

Spin Value XML and JSON lose transient flag when built from UntypedValue

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: 7.11.0-alpha3
    • Fix Version/s: 7.13.0, 7.12.1, 7.13.0-alpha1
    • Component/s: engine, spin
    • Labels:
      None

      Description

      If:

      • variable is created with execution.setVariable("test", Variables.untypedValue(Spin.JSON("{}"), true));

      Then:

      • execution.getVariableTyped("test").isTransient() is false

      Expected:

      • execution.getVariableTyped("test").isTransient() is true

      Impact:

      • The original variable test is not persisted, but if I copy the value I accessed via #getVariableTyped to another variable, this new variable will be persisted
      • Example case: I set a transient variable and then have a call activity mapping that hands all variables over to the called process; the variable will be persisted in the called process

      Root cause:

      • When we construct a typed value out of a variable, we do not take the transient flag into account

      Failing test cases
      https://github.com/camunda/camunda-bpm-platform/commit/cc58efcdeccaa5801c334288f11d11fd3c96e14f

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              ragnar.nevries Ragnar Nevries
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: