Hey! We think we've hit a Metaflow bug on the Argo...
# dev-metaflow
b
Hey! We think we've hit a Metaflow bug on the Argo Workflows compiler. When a condition= switch's two branches reconverge at a later step, and the branches have different nesting depth (one goes through extra inner switches, the other doesn't), the compiler sometimes emits depends: A.Succeeded && B.Succeeded for the join instead of A.Succeeded || B.Succeeded. Since only one branch ever runs, the join step then stays permanently Omitted and the workflow never proceeds past it. We've traced the exact mechanism — it comes down to step-name alphabetical ordering — and have a minimal, verified repro (two flows, identical shape, only two step names differ, one compiles correctly and one doesn't). Happy to share the full trace + repro in thread if useful. Metaflow 2.19.35, targeting argo-workflows. Is this a known issue, or worth a GitHub issue?
a
Thanks for the report! Cc @thankful-ambulance-42457
thanks 1
r
Happy to share the full trace + repro in thread if useful.
Can you share that? You can share it as a GitHub issue as well
b
Just opened a GitHub issue with the full trace and repro: github.com/Netflix/metaflow/issues/3334 Worth noting: the root-cause section is our best working hypothesis based on instrumenting _parse_conditional_branches locally, not something we're 100% certain about at the mechanism level — but the repro itself is solid and reproducible (re-verified today from scratch on the latest 2.19.36 release). Happy to iterate on the diagnosis if anyone spots something off.
thanks 1
While we're at it — we also ran into #3043 (conditional branching broken on Argo Workflows controller v3.7.11+/v4.0.2+) on the same flow. We've worked around it for now by restructuring our graph to avoid ambiguous joins entirely, so it's not blocking us, but is there any timeline on a fix for that one? Wanted to flag it since it's likely to hit anyone else using native conditional branching on a recent Argo controller.