diff --git a/python/sglang/srt/managers/schedule_batch.py b/python/sglang/srt/managers/schedule_batch.py index 05b6ba059..1fcc3eacc 100755 --- a/python/sglang/srt/managers/schedule_batch.py +++ b/python/sglang/srt/managers/schedule_batch.py @@ -971,6 +971,7 @@ class Req(ReqDllmMixin): multi_item_delimiter_indices: Optional[List[int]] = None, session_id: Optional[str] = None, cache_salt: Optional[str] = None, + disable_radix_cache: bool = False, ): # Input and output info self.rid = rid @@ -1273,7 +1274,9 @@ class Req(ReqDllmMixin): # retracted request is rebootstrapped. Set in pause_generation(retract) # and consumed in the decode transfer commit; never plumbed to prefill. self.pd_rebootstrap_forced_output_id: Optional[int] = None - self.skip_radix_cache_insert = bootstrap_host == FAKE_BOOTSTRAP_HOST + self.skip_radix_cache_insert = ( + bootstrap_host == FAKE_BOOTSTRAP_HOST and disable_radix_cache + ) self.disagg_kv_sender: Optional[BaseKVSender] = None self.routed_dp_rank: Optional[int] = routed_dp_rank diff --git a/python/sglang/srt/managers/scheduler.py b/python/sglang/srt/managers/scheduler.py index 44c7deb00..cf361cc8d 100644 --- a/python/sglang/srt/managers/scheduler.py +++ b/python/sglang/srt/managers/scheduler.py @@ -3321,6 +3321,7 @@ class Scheduler( time_stats=recv_req.time_stats, return_pooled_hidden_states=recv_req.return_pooled_hidden_states, multi_item_delimiter_indices=recv_req.multi_item_delimiter_indices, + disable_radix_cache=self.disable_radix_cache, ) req.tokenizer = self.tokenizer self._maybe_namespace_elastic_radix_cache(req)