acoustic-carpenter-78188
03/12/2026, 1:21 PMflytekit==1.16.15 introduced run_all_sub_nodes support for ArrayNode via flytekit#3399, but the corresponding flyteidl proto field has not been released. The proto change (flyte#6324) is still in draft and was never merged.
Any workflow using map_task fails on registration:
ValueError: Protocol message ArrayNode has no "run_all_sub_nodes" field.
Expected behavior
Root cause
In flytekit/models/core/workflow.py, the ArrayNode class was updated to reference `run_all_sub_nodes`:
• Line 429: run_all_sub_nodes=self._run_all_sub_nodes in to_flyte_idl()
• Line 439: run_all_sub_nodes=pb2_object.run_all_sub_nodes in from_flyte_idl()
But flyteidl==1.16.4 (the latest release satisfying flyteidl>=1.16.1,<2.0.0a0) does not have this field. The ArrayNode proto only defines fields up to bound_inputs (field number 8).
Suggested fix
Either:
1. Release a new flyteidl 1.x with the run_all_sub_nodes field on ArrayNode (merge flyte#6324)
2. Revert flytekit#3399 from the 1.16.x branch until the proto is released
Additional context to reproduce
pip install flytekit==1.16.15 # installs flyteidl==1.16.4 (latest 1.x)
from flytekit import task, workflow, map_task
from functools import partial
@task
def add_one(x: int, offset: int = 1) -> int:
return x + offset
@workflow
def test_map() -> list[int]:
return map_task(partial(add_one, offset=1))(x=[1, 2, 3])
pyflyte run --remote test.py test_map
# ValueError: Protocol message ArrayNode has no "run_all_sub_nodes" field.
Screenshots
No response
Are you sure this issue hasn't been raised already?
• Yes
Have you read the Code of Conduct?
• Yes
flyteorg/flyte