From aea57b33c6dbdba665b0ce2a27276f19a14affe8 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Tue, 20 Jan 2026 17:45:38 -0800 Subject: [PATCH] [scheduler] Clear MM data of finished batch (#17251) Co-authored-by: Kangyan-Zhou --- python/sglang/srt/managers/scheduler.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/python/sglang/srt/managers/scheduler.py b/python/sglang/srt/managers/scheduler.py index c4c144016..fd1390a53 100644 --- a/python/sglang/srt/managers/scheduler.py +++ b/python/sglang/srt/managers/scheduler.py @@ -1408,6 +1408,14 @@ class Scheduler( else: return MultimodalInputs.from_dict(mm_inputs_dict) + def _maybe_clear_mm_inputs(self, batch: ScheduleBatch) -> None: + for req in batch.reqs: + if not req.finished() or not (mm_inputs := req.multimodal_inputs): + continue + for item in mm_inputs.mm_items: + item.feature = None + req.multimodal_inputs = None + def handle_generate_request( self, recv_req: TokenizedGenerateReqInput, @@ -2413,6 +2421,7 @@ class Scheduler( self.process_batch_result_idle(batch, result) self.log_batch_result_stats(batch, result) + self._maybe_clear_mm_inputs(batch) self.maybe_send_health_check_signal() def maybe_send_health_check_signal(self):