From 11852548518b13c9a00a4e73dadd19d44e221e2b Mon Sep 17 00:00:00 2001 From: CrazyCoder <18235787078@163.com> Date: Mon, 21 Sep 2026 09:25:02 +0800 Subject: [PATCH] [Bugfix][KV Connector] Propagate cache reset failure during sleep (#54581) Signed-off-by: CrazyCoder <18235787078@163.com> Signed-off-by: aoshen02 Co-authored-by: aoshen02 Co-authored-by: Codex --- vllm/v1/engine/core.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/vllm/v1/engine/core.py b/vllm/v1/engine/core.py index 5ee2c6f8c0..a51278b761 100644 --- a/vllm/v1/engine/core.py +++ b/vllm/v1/engine/core.py @@ -867,10 +867,11 @@ class EngineCore: # reset_connector=True so external connectors clear alongside # local caches, matching the pause_generation(clear_cache=True) # contract. No-op when no connector is configured. - self.reset_prefix_cache( + if not self.reset_prefix_cache( reset_running_requests=reset_running_requests, reset_connector=reset_connector, - ) + ): + raise RuntimeError("Failed to reset the KV connector cache.") self.reset_mm_cache() self.reset_encoder_cache() @@ -2001,8 +2002,12 @@ class EngineCoreProc(EngineCore): raise ValueError(f"Invalid pause mode: {mode}") def engine_idle_callback(engine: "EngineCoreProc", future: Future[Any]) -> None: - engine._finish_pause(clear_cache) - future.set_result(None) + try: + engine._finish_pause(clear_cache) + except Exception as e: + future.set_exception(e) + else: + future.set_result(None) if mode == "abort": aborted_reqs = self.scheduler.finish_requests(