{"record":{"id":"e51ce469d5aea817","repo":"vllm-project/vllm","slug":"standalone-store-mode-requires-global-segment-size","errorCode":null,"errorMessage":"standalone-store mode requires global_segment_size == 0","messagePattern":"standalone-store mode requires global_segment_size == 0","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py","lineNumber":148,"sourceCode":"    metadata_server: str\n    master_server_address: str\n    protocol: str\n    device_name: str\n    mode: MooncakeMode = \"embedded\"\n    global_segment_size: int = DEFAULT_GLOBAL_SEGMENT_SIZE\n    local_buffer_size: int = DEFAULT_LOCAL_BUFFER_SIZE\n    enable_offload: bool = False\n    tenant_id: str = DEFAULT_TENANT_ID\n\n    def __post_init__(self) -> None:\n        if self.mode not in (\"embedded\", \"standalone-store\"):\n            raise ValueError(f\"unknown Mooncake mode: {self.mode!r}\")\n        if self.local_buffer_size <= 0:\n            raise ValueError(\"local_buffer_size must be > 0\")\n        if self.mode == \"embedded\" and self.global_segment_size == 0:\n            raise ValueError(\"embedded mode requires global_segment_size > 0\")\n        if self.mode == \"standalone-store\" and self.global_segment_size != 0:\n            raise ValueError(\"standalone-store mode requires global_segment_size == 0\")\n\n    @staticmethod\n    def from_file(file_path: str) -> \"MooncakeStoreConfig\":\n        with open(file_path) as file:\n            config = json.load(file)\n        return MooncakeStoreConfig(\n            metadata_server=config.get(\"metadata_server\", \"\"),\n            master_server_address=config.get(\"master_server_address\", \"\"),\n            protocol=config.get(\"protocol\", \"rdma\"),\n            device_name=config.get(\"device_name\", \"\"),\n            mode=config.get(\"mode\", \"embedded\"),\n            global_segment_size=_parse_size(\n                config.get(\"global_segment_size\", DEFAULT_GLOBAL_SEGMENT_SIZE)\n            ),\n            local_buffer_size=_parse_size(\n                config.get(\"local_buffer_size\", DEFAULT_LOCAL_BUFFER_SIZE)\n            ),\n            enable_offload=bool(config.get(\"enable_offload\", False)),","sourceCodeStart":130,"sourceCodeEnd":166,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/distributed/kv_transfer/kv_connector/v1/mooncake/store/worker.py#L130-L166","documentation":"The mirror of error 528: in standalone-store mode all storage lives in the external mooncake store service, so the embedded global segment must be disabled — global_segment_size must be exactly 0. __post_init__ rejects any non-zero value when mode == 'standalone-store'.","triggerScenarios":"\"mode\": \"standalone-store\" with \"global_segment_size\": \"4GB\" (a leftover from an embedded deployment) in the config file.","commonSituations":"Migrating a node from embedded to standalone-store and editing only the mode; templates that always populate the segment size.","solutions":["Set \"global_segment_size\": 0 (or \"0GB\") when using standalone-store mode","Or keep the segment and use \"mode\": \"embedded\" instead"],"exampleFix":"// before\n{ \"mode\": \"standalone-store\", \"global_segment_size\": \"8GB\" }\n\n// after\n{ \"mode\": \"standalone-store\", \"global_segment_size\": 0 }","handlingStrategy":"validation","validationCode":"mode, gs = raw.get(\"mode\", \"embedded\"), _parse_size(raw.get(\"global_segment_size\", DEFAULT))\nif mode == \"standalone-store\" and gs != 0:\n    raise ValueError(\"standalone-store mode needs global_segment_size == 0\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["When migrating embedded->standalone-store, change mode and zero the segment size together","Use a config template per mode to avoid half-edited files"],"tags":["mooncake","config","validation"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}