{"record":{"id":"225489054ec3c5db","repo":"vllm-project/vllm","slug":"log-balancedness-interval-must-be-greater-than-0","errorCode":null,"errorMessage":"log_balancedness_interval must be greater than 0.","messagePattern":"log_balancedness_interval must be greater than 0\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"vllm/config/parallel.py","lineNumber":114,"sourceCode":"    - \"torch_gloo\": Use torch.distributed gloo with CPU staging\n    - \"nixl\": Use NIXL with staged send/recv buffers\n    - \"pynccl\": Use PyNccl send/recv\n    - None: Auto-select backend (prefers \"nixl\", falls back to \"torch_gloo\")\n    \"\"\"\n\n    @model_validator(mode=\"after\")\n    def _validate_eplb_config(self) -> Self:\n        if self.use_async and self.policy != \"default\":\n            raise ValueError(\"Async EPLB is only supported with the default policy.\")\n        if self.use_async and self.communicator in (\"torch_nccl\", \"pynccl\"):\n            raise ValueError(\n                f\"{self.communicator} communicator is incompatible with \"\n                \"async EPLB due to NCCL multi-stream conflicts. Use \"\n                \"'torch_gloo' or 'nixl' instead, or leave communicator \"\n                \"unset for automatic selection.\"\n            )\n        if self.log_balancedness and self.log_balancedness_interval <= 0:\n            raise ValueError(\"log_balancedness_interval must be greater than 0.\")\n        return self\n\n\n@config\nclass ParallelConfig:\n    \"\"\"Configuration for the distributed execution.\"\"\"\n\n    pipeline_parallel_size: int = Field(default=1, ge=1)\n    \"\"\"Number of pipeline parallel groups.\"\"\"\n    tensor_parallel_size: int = Field(default=1, ge=1)\n    \"\"\"Number of tensor parallel groups.\"\"\"\n    prefill_context_parallel_size: int = Field(default=1, ge=1)\n    \"\"\"Number of ranks that split prefill sequence computation. PCP expands\n    the process world size but does not increase the KV-cache shard count.\"\"\"\n    data_parallel_size: int = Field(default=1, ge=1)\n    \"\"\"Number of data parallel groups. MoE layers will be sharded according to\n    the product of the tensor, prefill-context, and data parallel sizes.\"\"\"\n    data_parallel_size_local: int = Field(default=1, ge=0)","sourceCodeStart":96,"sourceCodeEnd":132,"githubUrl":"https://github.com/vllm-project/vllm/blob/c794754062d49a8fdb63ab3c5215b488b865030c/vllm/config/parallel.py#L96-L132","documentation":"The final check in EPLBConfig._validate_eplb_config requires log_balancedness_interval > 0 when log_balancedness logging is enabled. The interval is the number of steps between balancedness logs; zero or negative would mean an undefined/invalid logging cadence.","triggerScenarios":"Passing --eplb-log-balancedness with --eplb-log-balancedness-interval 0 or a negative value (interval defaults to a positive number, so this usually means it was explicitly set).","commonSituations":"Trying to log every step by setting 0 instead of 1; scripted sweeps that iterate interval values including 0.","solutions":["Set the interval to >= 1 (use 1 for every-step logging).","Or remove --eplb-log-balancedness-interval to fall back to the default positive interval."],"exampleFix":"# before\nvllm serve model --enable-eplb --eplb-log-balancedness --eplb-log-balancedness-interval 0\n\n# after\nvllm serve model --enable-eplb --eplb-log-balancedness --eplb-log-balancedness-interval 1","handlingStrategy":"validation","validationCode":"def check_balancedness_interval(enabled: bool, interval: int) -> None:\n    if enabled and interval <= 0:\n        raise SystemExit(\"eplb_log_balancedness_interval must be >= 1\")","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use 1 for per-step logging; never 0.","Omit the interval flag unless you actually need a custom cadence."],"tags":["vllm","config","eplb","logging","validation"],"backgroundTag":null,"analyzedSha":"c794754062d49a8fdb63ab3c5215b488b865030c","analyzedAt":"2026-08-14T21:17:39.825Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}