Describe the issue
The issue is that when a subflow retries with CREATE_NEW_EXECUTION, the retry execution succeeds and produces a valid FILE URI, but the parent flow still fails when trying to read() that URI.
Expected behavior: the Subflow task output exposed to the parent should reference the successful/latest retry execution, including storage URIs generated by that execution.
In this reproducer bellow:
- First subflow execution fails intentionally.
- Retry creates a new execution and succeeds.
outputs.hello.uri is valid in the successful retry.
outputs.make_dummy_output.outputs['dummy_return_file'].uri is exposed to the parent, but the parent cannot access/read the corresponding file.
MAIN FLOW BELOW
id: reprod_uri_access_failure_from_retried_task_output
namespace: test.reprod_bug
tasks:
- id: make_dummy_output
type: io.kestra.plugin.core.flow.Subflow
flowId: reprod_uri_access_failure_from_retried_task_output_subflow
namespace: test.reprod_bug
- id: hello
type: io.kestra.plugin.core.log.Log
message: "{{ read(outputs.make_dummy_output.outputs['dummy_return_file'].uri) }}"
SUBFLOW BELOW
id: reprod_uri_access_failure_from_retried_task_output_subflow
namespace: test.reprod_bug
retry:
behavior: CREATE_NEW_EXECUTION
interval: "PT1S"
maxAttempts: 2
type: constant
warningOnRetry: true
tasks:
- id: fail_after_retry
runIf: "{{ execution.originalId == execution.id }}"
type: io.kestra.plugin.core.execution.Fail
errorMessage: "{{ someError ~~ }}"
- id: hello
type: io.kestra.plugin.core.storage.Write
content: "dummy"
outputs:
- id: dummy_return_file
type: FILE
value: "{{ outputs.hello.uri }}"
Environment
Describe the issue
The issue is that when a subflow retries with CREATE_NEW_EXECUTION, the retry execution succeeds and produces a valid FILE URI, but the parent flow still fails when trying to read() that URI.
Expected behavior: the Subflow task output exposed to the parent should reference the successful/latest retry execution, including storage URIs generated by that execution.
In this reproducer bellow:
outputs.hello.uriis valid in the successful retry.outputs.make_dummy_output.outputs['dummy_return_file'].uriis exposed to the parent, but the parent cannot access/read the corresponding file.MAIN FLOW BELOW
SUBFLOW BELOW
Environment