Ignore stale executor success when TI is queued after defer#68741
Conversation
eed2ad5 to
2e53123
Compare
shahar1
left a comment
There was a problem hiding this comment.
PR title shouldn't use conventional commit style, please fix it as well.
75126b1 to
b290d48
Compare
|
Thanks for the review. I updated the commit message to remove the conventional commit style from the PR title as requested. Let me know if anything else needs adjustment. |
26f4b79 to
021cf9c
Compare
021cf9c to
2f2f410
Compare
|
Fixed the PR title to remove conventional commit style. Let me know if anything else needs adjustment. |
2f2f410 to
8b08e8a
Compare
f6cd92c to
cc4b4a9
Compare
a14ee0e to
14d034b
Compare
shahar1
left a comment
There was a problem hiding this comment.
LGTM.
@goingforstudying-ctrl please do not rebase onto main - just let the CI run and one of the maintainers will merge it once it passes succesfully.
When a task is deferred and later rescheduled into QUEUED state before the scheduler processes a stale SUCCESS event from the executor, the scheduler should ignore the stale success rather than incorrectly marking the task as succeeded. - Add guard in _process_executor_events to check current TI state - Add test for stale success after defer -> queued transition Fixes apache#67287
|
Please stop merging main. This PR will never be merged if you keep doing this. |
|
Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions. |
Fixes a race where the trigger resumes a deferred task to
queued(rather thanscheduled) before the scheduler processes the executor SUCCESS from the worker defer exit. The scheduler then treatedqueuedvs executorsuccessas a state mismatch and failed the TI (#67287).The fix for #66374 (#66431) added handling for the
scheduledvariant. Under load the trigger may reschedule into eitherqueuedorscheduleddepending on scheduler loop timing, so both states must be treated as stale defer-exit events whennext_methodis set.Changes:
ti_requeuedcondition inprocess_executor_eventsto includeTaskInstanceState.QUEUEDtest_process_executor_events_stale_success_when_queued_after_defer(positive + negative withoutnext_method)67287.bugfix.rstTesting: