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

Open Beginner friendly
#426 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
82/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python
Domain
backend

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

bug

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from conductor-oss/python-sdk

All issues in conductor-oss/python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.