Skip to content

WaitTask base class sets wrong inputParameter key 'wait_until' instead of 'until' #426

Description

@nthmost-orkes

Summary

Tested against: Conductor OSS 3.32.0-rc.9

WaitTask.__init__(wait_until=...) sets the inputParameter key "wait_until",
but the Conductor server reads "until". The task is accepted at registration
but never triggers at runtime — the workflow stays RUNNING indefinitely.

Reproduction

from conductor.client.workflow.task.wait_task import WaitTask

t = WaitTask("my_wait", wait_until="2024-01-01 00:00 UTC")
print(t.input_parameters)
# {'wait_until': '2024-01-01 00:00 UTC'}   ← WRONG KEY

Start a workflow containing this task. The task status stays IN_PROGRESS
forever — the server never sees "until" so the condition is never evaluated.

Root cause

wait_task.py line 26:

self.input_parameters = {"wait_until": wait_until}   # wrong key

Server constant (Wait.java):

public static final String UNTIL_INPUT = "until";

Fix

self.input_parameters = {"until": wait_until}

Note: the WaitUntilTask subclass already uses the correct key "until" and
is unaffected. Only WaitTask.__init__() called directly with wait_until= is broken.

Verified against

Conductor server 3.32.0-rc.9, confirmed via live test in
conductor-oss/conductor-test-harness:
task remained RUNNING after 10 s with wait_until key; WaitUntilTask with
until key completed immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions