WaitTask base class sets wrong inputParameter key 'wait_until' instead of 'until'
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 82/100
Research direction
Start with wait_task.py at line 26 and compare WaitTask.init() with the unaffected WaitUntilTask subclass and the server’s Wait.java constant. Done means direct WaitTask use emits the server-recognized input parameter and no longer leaves the task running indefinitely; verify the serialized parameters and workflow behavior described in the reproduction.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Python
- Stars
- 104
- Forks
- 43
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 4
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from conductor-oss/python-sdk
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
conductor-oss/python-sdk#507 ·
-
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
conductor-oss/python-sdk#502 ·
-
bug dependencies
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
conductor-oss/python-sdk#486 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
conductor-oss/python-sdk#483 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
conductor-oss/python-sdk#478 ·
All issues in conductor-oss/python-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100