Skip to content

[Bugfix][Core] Remove redundant AuxOutput reset guards after pause - #59060

Merged
aoshen02 merged 6 commits into
vllm-project:mainfrom
aoshen02:codex/aux-output-abort-upstream
Sep 29, 2026
Merged

aoshen02 merged 6 commits into
vllm-project:mainfrom
aoshen02:codex/aux-output-abort-upstream

Conversation

@aoshen02

@aoshen02 aoshen02 commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Why

AuxOutput reset checks unnecessarily constrain the pause mode. For example, an abort-mode pause can finish draining outputs without setting PAUSED_ALL.

The supported workflow is to await pause completion before explicitly resetting the prefix cache. With clear_cache=True, pause performs the reset internally after draining. This PR does not add support for resetting AuxOutput during active inference without a completed pause.

Change

  • Remove the AuxOutput-specific pause-mode and in-flight checks from Scheduler.reset_prefix_cache.
  • Keep the existing KV reset checks and Worker pending-output assertion.
  • Update the scheduler test to reset after outputs have drained without requiring a particular pause mode.
  • Remove the previously added EngineCore queue-draining implementation and its tests; core.py is restored to its pre-change implementation.

AuxOutput generation, temporary-state cleanup, and storage retention are unchanged. This does not implement retaining R3 across a GPU-only cache reset.

Validation

  • /home/aoshen/vllm/.venv/bin/python -m pytest tests/v1/engine/test_engine_core.py tests/v1/core/test_scheduler.py -k 'reset_prefix_cache or aux_output_reset or pause_synchronizes_device_before_cache_reset' -q: 5 passed, 210 deselected.
  • Changed-file pre-commit hooks: passed, including mypy.
  • No GPU model-output evaluation or serving throughput benchmark was run for this revision; validation is unit-level.

Related work

This updates the existing fix rather than opening a duplicate. #56754 concerns in-process sleep waiting; #57810 concerns retaining external KV connector state. Broader investigation: aoshen02#82.

AI assistance was used. Human review is required before merge.

…ests

Co-authored-by: OpenAI Codex <codex@openai.com>
Signed-off-by: aoshen02 <aoshen@inferact.ai>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify mergify Bot added bug Something isn't working scheduler labels Sep 28, 2026
@aoshen02 aoshen02 added the ready ONLY add when PR is ready to merge/full CI is needed label Sep 28, 2026
@aoshen02

Copy link
Copy Markdown
Contributor Author

/ci run

@aoshen02
aoshen02 enabled auto-merge (squash) September 28, 2026 15:34
@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #91612 for commit c7004bb7f513.

@aoshen02

Copy link
Copy Markdown
Contributor Author

/ci run

Keep the in-flight output guard and test reset without a keep-mode pause.

Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: aoshen02 <aoshen@inferact.ai>
@aoshen02 aoshen02 changed the title [Bugfix][Core] Allow AuxOutput reset after abort without running requests [Bugfix][Core] Allow AuxOutput reset independently of pause mode Sep 29, 2026
Remove the AuxOutput-specific in-flight guard and consume queued outputs at the EngineCoreProc reset boundary without scheduling new batches.

Co-authored-by: Codex <noreply@openai.com>

Signed-off-by: aoshen02 <aoshen@inferact.ai>
@aoshen02 aoshen02 changed the title [Bugfix][Core] Allow AuxOutput reset independently of pause mode [Bugfix][Core] Drain queued outputs before resetting prefix cache Sep 29, 2026
Remove the added EngineCore queue draining and its tests. Keep removal of the AuxOutput-specific reset guards, with callers responsible for awaiting pause completion before reset.

Co-authored-by: Codex <noreply@openai.com>

Signed-off-by: aoshen02 <aoshen@inferact.ai>
@aoshen02 aoshen02 changed the title [Bugfix][Core] Drain queued outputs before resetting prefix cache [Bugfix][Core] Remove redundant AuxOutput reset guards after pause Sep 29, 2026
@aoshen02

Copy link
Copy Markdown
Contributor Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #91789 for commit 0419c4163527.

@aoshen02
aoshen02 merged commit 4861833 into vllm-project:main Sep 29, 2026
148 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ready ONLY add when PR is ready to merge/full CI is needed scheduler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants