argo-workflows icon indicating copy to clipboard operation
argo-workflows copied to clipboard

fix: constraint containerType outboundnode boundary. Fixes #12997

Open tczhao opened this issue 9 months ago • 0 comments

Fixes #12997

Motivation

Root cause: say we have dag

task: A(containerset)
task: B(containerset), depends: A
task: C(containerset), depends: A

if task B is processed and started before the controller can process C, C will find the deepest node in A without considering boundaries and mistakenly attach to B

Modifications

if a node(containerType) child node do not have the same boundyID, we return the current node as the deepest outbound node.

Verification

Tested: Before code change

  • ran the workflow from the issue ticket, failed: incorrect dependency and controller panic
  • ran new unit test without change, failed as expected

After code change

  • ran the workflow from the issue ticket, succeeded with the correct dependencies
  • ran unit test with the code change, succeed

tczhao avatar May 14 '24 01:05 tczhao