Skip to content

Preserve namespace when repairing missing runtime tasks #605

Description

@rmcdaniel

Customer outcome

When Native recreates a missing workflow, activity or timer task, keep it in
the original run's namespace so the correct Server workers can discover it.

Defect

All seven missing-task creation paths in src/V2/Support/TaskRepair.php omit
namespace. The original run remains namespaced, while the new task has NULL.
Server polling and queue visibility filter by the task's namespace. Redispatch
does not correct the missing namespace.

The defect exists on current main 70d4fe48efd7dd796c35c1078b3d5ac43f738f4f.
It was found while tracing the ready, unclaimed recovery task in
PHP connected cancellation.
That run retains one stop acknowledgement and no cancellation delivery, while
run diagnostics show a Ready task and the namespace queue shows zero Ready
tasks. Its raw capture lacks the task row's namespace, so the precise original
race still needs deterministic reproduction rather than inference alone.

Acceptance

  • Recreated workflow, activity, timer, condition timeout and signal timeout
    tasks inherit the exact original namespace, including legacy NULL.
  • Scoped polling finds the repaired workflow only in its original namespace.
  • Cover repair before a cancellation stop acknowledgement without changing
    the original request, callback fence, delivery boundary or deadline.
  • Run the owning quality and supported database gates, publish the ordinary
    runtime fix and verify affected published consumers. Cooperative protocol
    activation remains the separate acceptance gate in shared workflow run on browser #136.

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

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbugSomething isn't workingkind:defectA public product behavior is incorrectpriority:P1High-priority product or release riskstatus:in-progressApproved work is actively being implemented or validated

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions