File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -277,8 +277,12 @@ def build_worker_command(
277277 # Add disaggregation mode for prefill/decode workers (both dynamo and sglang frontend)
278278 if mode != "agg" :
279279 cmd .extend (["--disaggregation-mode" , mode ])
280- # Bootstrap port only needed for sglang frontend (dynamo handles internally)
281- if frontend_type == "sglang" and mode == "prefill" and process .bootstrap_port is not None :
280+ # Always pass bootstrap port for prefill workers regardless of frontend type.
281+ # Dynamo does NOT handle this internally — SGLang's CommonKVBootstrapServer
282+ # still runs on every prefill node for KV transfer coordination, and workers
283+ # must register to it. Without an explicit port, the default (8998) collides
284+ # with Dynamo services (etcd/NATS) on the head node, breaking multi-node prefill.
285+ if mode == "prefill" and process .bootstrap_port is not None :
282286 cmd .extend (["--disaggregation-bootstrap-port" , str (process .bootstrap_port )])
283287
284288 # Add multi-node coordination flags
You can’t perform that action at this time.
0 commit comments