sgl-project/sglang · error · RuntimeError
PD disagg: PP>1 not supported for MiniMax sparse index yet.
Error message
PD disagg: PP>1 not supported for MiniMax sparse index yet.
What it means
The MiniMAX sparse index K sub-pool is a compacted sparse-layer list; with pipeline parallelism > 1 the slicing across PP ranks is invalid, so maybe_send_extra rejects the transfer outright.
Source
Thrown at python/sglang/srt/disaggregation/mooncake/conn.py:1389
dst_indices_local = dst_indices_local[: len(src_indices)]
rc = (
self._send_kvcache_generic(
mooncake_session_id=req.mooncake_session_id,
src_data_ptrs=src_data_ptrs,
dst_data_ptrs=dst_data_ptrs,
item_lens=src_item_lens,
prefill_data_indices=np.array(src_indices, dtype=np.int32),
dst_data_indices=np.array(dst_indices_local, dtype=np.int32),
executor=executor,
state_type=st,
)
or rc
)
elif st == StateType.MINIMAX_INDEX_K:
# Equal-TP / PP=1 only. Sub-pools are compacted sparse-layer
# lists, so PP>1 mis-slices and heterogeneous TP is unsupported.
if self.pp_size is not None and self.pp_size > 1:
raise RuntimeError(
"PD disagg: PP>1 not supported for MiniMax sparse index yet."
)
if (
target_rank_registration_info is not None
and self.attn_tp_size
!= target_rank_registration_info.dst_attn_tp_size
):
raise RuntimeError(
"PD disagg: heterogeneous TP not supported for MiniMax "
"sparse index yet."
)
src_indices = list(indices)
dst_indices_local = list(dst_indices)
if len(src_indices) > len(dst_indices_local):
src_indices = src_indices[: len(dst_indices_local)]
elif len(src_indices) < len(dst_indices_local):
dst_indices_local = dst_indices_local[: len(src_indices)]
rc = (View on GitHub (pinned to 0132848349)
Solutions
- Set pipeline-parallel size to 1 on both sides
- Await upstream support for MiniMax sparse index under PP>1
Example fix
# before python -m sglang.launch_server --pp-size 2 ... # after python -m sglang.launch_server --pp-size 1 ...
Defensive patterns
Strategy: validation
Validate before calling
if state involves MINIMAX_INDEX_K:
assert pp_size == 1, "MiniMax sparse index requires PP=1 under PD disagg" Prevention
- Add a launch-time guard combining model family and pp-size
When it happens
Trigger: PD disaggregation with pp_size > 1 while transferring StateType.MINIMAX_INDEX_K.
Common situations: Running a MiniMax sparse-attention model with --pp-size 2+ on prefill or decode under PD disaggregation.
Related errors
- PD disagg: PP>1 not supported for MiniMax sparse index yet.
- PD disagg: heterogeneous TP not supported for MiniMax sparse
- PD disagg: heterogeneous TP not supported for MiniMax sparse
- PD disaggregation for MiniMax sparse layers with index value
- MHATokenToKOnlyPool does not allocate V
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/4dc5990963dee047.
Report an issue: GitHub.