Skip to content

Commit 0d70c7f

Browse files
njhillliuzijing2014
authored andcommitted
[V1] Avoid socket errors during shutdown when requests are in in-flight (vllm-project#16807)
Signed-off-by: Nick Hill <nhill@redhat.com>
1 parent 0b79d90 commit 0d70c7f

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

vllm/v1/engine/core.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ def signal_handler(signum, frame):
384384

385385
except SystemExit:
386386
logger.debug("EngineCore exiting.")
387-
387+
raise
388388
except Exception as e:
389389
if engine_core is None:
390390
logger.exception("EngineCore failed to start.")

vllm/v1/engine/core_client.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ class BackgroundResources:
312312
def __call__(self):
313313
"""Clean up background resources."""
314314

315+
self.engine_dead = True
315316
for core_engine in self.core_engines:
316317
core_engine.close()
317318

@@ -564,7 +565,7 @@ def add_request(self, request: EngineCoreRequest) -> None:
564565
self._send_input(EngineCoreRequestType.ADD, request)
565566

566567
def abort_requests(self, request_ids: list[str]) -> None:
567-
if len(request_ids) > 0:
568+
if request_ids and not self.resources.engine_dead:
568569
self._send_input(EngineCoreRequestType.ABORT, request_ids)
569570

570571
def profile(self, is_start: bool = True) -> None:
@@ -735,7 +736,7 @@ async def add_request_async(self, request: EngineCoreRequest) -> None:
735736
self._ensure_output_queue_task()
736737

737738
async def abort_requests_async(self, request_ids: list[str]) -> None:
738-
if len(request_ids) > 0:
739+
if request_ids and not self.resources.engine_dead:
739740
await self._send_input(EngineCoreRequestType.ABORT, request_ids)
740741

741742
async def profile_async(self, is_start: bool = True) -> None:
@@ -902,5 +903,6 @@ async def abort_requests_async(self, request_ids: list[str]) -> None:
902903

903904
async def _abort_requests(self, request_ids: list[str],
904905
engine: CoreEngine) -> None:
905-
await self._send_input(EngineCoreRequestType.ABORT, request_ids,
906-
engine)
906+
if not self.resources.engine_dead:
907+
await self._send_input(EngineCoreRequestType.ABORT, request_ids,
908+
engine)

0 commit comments

Comments
 (0)