From a5c7e9d236fc85b57807f7d7370a8a262fe8b9c2 Mon Sep 17 00:00:00 2001 From: huangtingwei <141888744+huangtingwei9988@users.noreply.github.com> Date: Thu, 4 Jun 2026 18:01:21 +0800 Subject: [PATCH] [HiCache] fix PD L3 cache hit details from decode responses (#27046) --- .../srt/managers/scheduler_components/output_streamer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/sglang/srt/managers/scheduler_components/output_streamer.py b/python/sglang/srt/managers/scheduler_components/output_streamer.py index 4bbde9887..cac807158 100644 --- a/python/sglang/srt/managers/scheduler_components/output_streamer.py +++ b/python/sglang/srt/managers/scheduler_components/output_streamer.py @@ -74,9 +74,11 @@ class SchedulerOutputStreamer: "device": req.cached_tokens_device, "host": req.cached_tokens_host, } - # Only include storage fields if L3 storage is enabled - if self.enable_hicache_storage(): + # In PD mode the L3 hit is produced on prefill and reported on + # decode via metadata, while decode may not have a local storage backend. + if req.cached_tokens_storage > 0 or self.enable_hicache_storage(): details["storage"] = req.cached_tokens_storage + if self.enable_hicache_storage(): details["storage_backend"] = self._get_storage_backend_type() return details