diff --git a/python/sglang/srt/managers/data_parallel_controller.py b/python/sglang/srt/managers/data_parallel_controller.py index 73db1f498..1b71b1853 100644 --- a/python/sglang/srt/managers/data_parallel_controller.py +++ b/python/sglang/srt/managers/data_parallel_controller.py @@ -559,16 +559,6 @@ class DataParallelController: if self.maybe_external_dp_rank_routing(req): return - # Set default bootstrap_room if in FAKE auto mode and room is None - if ( - req.bootstrap_room is None - and self.server_args.disaggregation_transfer_backend == "fake" - ): - req.bootstrap_room = self.round_robin_counter - self.round_robin_counter = (self.round_robin_counter + 1) % len( - self.workers - ) - assert req.bootstrap_room is not None, ( "req.bootstrap_room should not be None. Do not send requests directly to " "prefill or decode instances; send to the router instead." diff --git a/python/sglang/srt/managers/tokenizer_manager.py b/python/sglang/srt/managers/tokenizer_manager.py index aa9567d07..729ed3cd7 100644 --- a/python/sglang/srt/managers/tokenizer_manager.py +++ b/python/sglang/srt/managers/tokenizer_manager.py @@ -440,6 +440,8 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin): self.server_args.disaggregation_mode ) self.bootstrap_server = start_disagg_service(self.server_args) + # Single-source counter for auto-assigning fake bootstrap_room. + self.fake_bootstrap_room_counter = 0 # Encoder Disaggregation if self.server_args.language_only: @@ -974,6 +976,14 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin): SessionParams(**obj.session_params) if obj.session_params else None ) + bootstrap_room = obj.bootstrap_room + if ( + bootstrap_room is None + and self.server_args.disaggregation_transfer_backend == "fake" + ): + bootstrap_room = self.fake_bootstrap_room_counter + self.fake_bootstrap_room_counter += 1 + tokenized_obj = TokenizedGenerateReqInput( input_text, input_ids, @@ -988,7 +998,7 @@ class TokenizerManager(TokenizerControlMixin, TokenizerManagerScoreMixin): http_worker_ipc=obj.http_worker_ipc, bootstrap_host=obj.bootstrap_host, bootstrap_port=obj.bootstrap_port, - bootstrap_room=obj.bootstrap_room, + bootstrap_room=bootstrap_room, lora_id=obj.lora_id, input_embeds=input_embeds, positional_embed_overrides=obj.positional_embed_overrides,