boomerang-io / community

The Boomerang community, roadmap, planning, and architecture repository. The central place for information on joining, contributing, and governance.
https://useboomerang.io
Apache License 2.0
11 stars 0 forks source link

Inconsistent parallel execution results for File JSONPath to Parameter task #342

Closed morarucostel closed 1 year ago

morarucostel commented 2 years ago

Describe the bug

Running in parallel multiple File JSONPath to Parameter tasks, which reads from the same file but different properties e.g. property a and property b, sometimes (not always) the following task will get only the value of a or the value of b when referencing both the $(tasks.task1.results.evaluation) and $(tasks.task2.results.evaluation).

image

As an example, in the workflow depicted above, in the Destroying the planet task, the instructions are configured like (showing the two evaluations from the previous ran in parallel 2 tasks):

First "File JSONPath to Parameter" picked-up value is: "$(tasks.Find Resistance leader.results.evaluation)"
Second "File JSONPath to Parameter" picked-up value is: "$(tasks.Find Resistance troops.results.evaluation)"

When executing the workflow (its not happening always but rather with a 80% incident rate), you will notice that actually the Destroying the planet task will show in its rendered instructions the same picked-up value, either from task Find Resistance leader or from task Find Resistance troops even though the results evaluation of those two are always different, since they are taking different values from a JSON.

As an example, running the above flow, sometimes the Destroying the plane task shows this:

image

and some other times it shows this:

image

What project does this issue relate to?

Boomerang Flow

To Reproduce

Already described above.

Environment

Flow: 3.8.0

Additional Contenxt

No response

tlawrie commented 2 years ago

Might need to get @amhudson or @marcusdroy involved to deep dive.

Can you check if the result parameter is right on the Tekton task? If so then it might just be a mix up in the code for saving it or retrieving it at runtime.

amhudson commented 2 years ago

I've been able to replicate but have not found the cause yet. Continuing to investigate...