Skip to content

fix(vllm): [release/1.6.0] shut down EngineCore when a prefill worker exits - #16789

Merged
nv-nmailhot merged 1 commit into
release/1.6.0from
yunzhoul/cherrypick-pr-16401
Oct 19, 2026
Merged

nv-nmailhot merged 1 commit into
release/1.6.0from
yunzhoul/cherrypick-pr-16401

Conversation

@yunzhoul-nv

Copy link
Copy Markdown
Contributor

Summary

Cherry-pick #16401 onto release/1.6.0 to explicitly shut down the vLLM EngineCore when a prefill worker exits.

prefill worker exit or startup failure
  close state agent
  clean up handler
  shut down engine with configured timeout

Shares _WorkerLifecycle across prefill, decode, and aggregated workers. Includes the upstream regression test and FPM test port-binding adjustment. Based on release commit d94072d69df850d183ce0a98001b0029893f5bb2, with cherry-pick provenance and DCO sign-off.

Conflict Resolution

Resolved one import-only conflict in components/src/dynamo/vllm/tests/test_vllm_worker_factory.py, caused by #15110 (commit 9dc820205913655f0b3642d52395b00ab411e361).

#15110 added _benchmark_engine_identity and _benchmark_worker_probe_path imports adjacent to _DecodeWorkerLifecycle on main. Those helpers are absent from release/1.6.0; #16401 removes the adjacent old lifecycle import and adds _WorkerLifecycle.

This backport retains the release branch's imports, removes _DecodeWorkerLifecycle, and adds _WorkerLifecycle, without bringing in the main-only benchmark helpers. Compared with #16401, only the surrounding import context differs; implementation and test-body changes applied without conflicts. Git range-diff confirms this scope.

Evidence

  • Before: fix(vllm): shut down EngineCore when a prefill worker exitsย #16401 reports that prefill exit could hang in the multiprocessing join of a live EngineCore, eventually requiring a forced container kill.
  • After: Upstream reports the fixed worker exited in 7โ€“8 seconds under both tested exit orders on a one-A100 1P/1D setup. The regression test covers normal serving completion and registration failure.

Validation

  • Source PR CI passed: Pre Merge and PR.
  • No local tests or pre-commit hooks run. These CI results apply to the source PR; release-branch CI is pending.
  • Upstream did not test TP2 or the Kubernetes kill -SIGINT 1 case. The cause of the changed exit order in the rc3 image remains unknown.

Merge Danger

Door: two-way

Revert the single cherry-pick commit.

Blast Radius: vLLM

Changes worker cleanup and explicitly shuts down EngineCore after prefill exit or startup failure.

Related Issues

Refs DYN-4917 โ€” https://linear.app/nvidia/issue/DYN-4917

Source PR: #16401

Signed-off-by: svc-glamr@nvidia.com <svc-glamr@nvidia.com>
Signed-off-by: GLAMR <svc-glamr@nvidia.com>
(cherry picked from commit 3763cee)
Signed-off-by: yunzhoul-nv <232973175+yunzhoul-nv@users.noreply.github.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 19, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@yunzhoul-nv
yunzhoul-nv requested a review from a team as a code owner October 19, 2026 16:07
@github-actions github-actions Bot added fix backend::vllm Relates to the vllm backend labels Oct 19, 2026
@nv-nmailhot
nv-nmailhot merged commit 0daafd2 into release/1.6.0 Oct 19, 2026
24 of 25 checks passed
@nv-nmailhot
nv-nmailhot deleted the yunzhoul/cherrypick-pr-16401 branch October 19, 2026 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend::vllm Relates to the vllm backend fix size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants