fix: preserve zero max wait duration - #7072
Conversation
|
I revalidated this on Python 3.13 in an isolated, offline WSL-backed Docker environment: all four regression cases and all 240 tests in the related module pass, both at the PR head and with the change applied to current main. Restoring the original code makes exactly the two zero cases fail. The installed-wheel regression, Black, changed-file lint and package builds also pass. I am keeping the PR in draft while resolving the wider gates. The current Could you point me to the expected stable CI dependency set and lint environment, and help approve the pending workflows? I would like to finish those checks without broadening this fix into unrelated changes. |
Summary
max_wait_duration=0when building custom-training scheduling inputsNoneas an omitted durationWhy
The documented value
0is a sentinel that requests an indefinite Dynamic Workload Scheduler wait. Request preparation used truthiness checks, causing explicit zero to be converted toNoneand silently omitted from the outgoing training pipeline.Using explicit
is not Nonechecks keeps the API distinction between omission and zero without changing positive-duration behavior.Fixes #7067.
Validation
4 passed, 236 deselectedtests/unit/aiplatform/test_training_jobs.pymodule:240 passedNone != "0s"git diff --checkpassesA broader local Windows package run was not completed because the Python process encountered a native memory-access failure; no full-suite result is claimed. GitHub's Linux CI remains the broader verification environment.