{"record":{"id":"a20faada1062b1cc","repo":"sgl-project/sglang","slug":"disaggregation-decode-retraction-backup-host-poo-a20faa","errorCode":null,"errorMessage":"--disaggregation-decode-retraction-backup=host_pool does not support --dcp-size > 1.","messagePattern":"--disaggregation-decode-retraction-backup=host_pool does not support --dcp-size > 1\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/srt/server_args.py","lineNumber":9120,"sourceCode":"                )\n            if not supported:\n                envs.SGLANG_OPT_FP8_WO_A_GEMM.set(False)\n\n    def _handle_cache_compatibility(self):\n        cfg = resolving_view(self)\n        if (\n            cfg.disaggregation_decode_retraction_backup == \"host_pool\"\n            and cfg.disaggregation_mode != \"decode\"\n        ):\n            raise ValueError(\n                \"--disaggregation-decode-retraction-backup=host_pool is only \"\n                \"supported on a PD decode server.\"\n            )\n        if (\n            cfg.disaggregation_decode_retraction_backup == \"host_pool\"\n            and cfg.dcp_size > 1\n        ):\n            raise ValueError(\n                \"--disaggregation-decode-retraction-backup=host_pool does not \"\n                \"support --dcp-size > 1.\"\n            )\n        if (\n            cfg.disaggregation_decode_retraction_backup == \"host_pool\"\n            and cfg.enable_priority_scheduling\n            and not cfg.disable_priority_preemption\n        ):\n            raise ValueError(\n                \"--disaggregation-decode-retraction-backup=host_pool requires \"\n                \"--disable-priority-preemption when priority scheduling is enabled.\"\n            )\n\n        if cfg.enable_hierarchical_cache and cfg.disable_radix_cache:\n            raise ValueError(\n                \"The arguments enable-hierarchical-cache and disable-radix-cache are mutually exclusive \"\n                \"and cannot be used at the same time. Please use only one of them.\"\n            )","sourceCodeStart":9102,"sourceCodeEnd":9138,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/srt/server_args.py#L9102-L9138","documentation":"ServerArgs._handle_cache_compatibility rejects --disaggregation-decode-retraction-backup=host_pool when --dcp-size > 1. The host-pool retraction backup implementation does not support decode-context-parallel (DCP) sharding across multiple decode groups, so it is limited to dcp_size == 1.","triggerScenarios":"Launching a PD decode server with both --disaggregation-decode-retraction-backup host_pool and --dcp-size 2 or greater (common when scaling long-context decode with decode context parallelism).","commonSituations":"Enabling DCP for long-context throughput on the decode tier while also enabling host-pool retraction backup; upgrading configs where DCP was newly added but the retraction flag remained; assuming all decode-side features compose.","solutions":["Set --dcp-size 1 (or drop it) if host_pool retraction backup is required","Disable the retraction backup (use the default) if DCP > 1 is required for capacity/throughput","Track upstream releases; DCP support for host_pool backup may land later — re-test then"],"exampleFix":"# before\npython -m sglang.launch_server --disaggregation-mode decode --dcp-size 2 --disaggregation-decode-retraction-backup host_pool ...\n# after\npython -m sglang.launch_server --disaggregation-mode decode --dcp-size 2 ...","handlingStrategy":"validation","validationCode":"def validate_dcp(dcp_size: int, retraction_backup: str | None):\n    if retraction_backup == \"host_pool\":\n        assert dcp_size <= 1, \"host_pool retraction backup requires --dcp-size 1\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Document feature-compatibility matrix for decode-tier flags in your runbooks","Run server-arg dry validation (construct ServerArgs) in CI for every config template"],"tags":["sglang","pd-disaggregation","dcp","retraction","host-pool"],"backgroundTag":"unsupported-feature-combination","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}