Skip to content

Subflow FILE output URI inaccessible after successful CREATE_NEW_EXECUTION retry #18600

Description

@csiiutpro

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

  • Kestra Version: 1.3.33

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/backendNeeds backend code changes

Type

Fields

Stage

In progress

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions