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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions