# PR #27027 完整报告

- 仓库：`sgl-project/sglang`
- 标题：Solving the problem of test case failures caused by timeouts
- 合并时间：2026-06-04 20:07
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/27027

---

# 执行摘要

- 一句话：NPU 测试超时修复：watchdog-timeout 从 300 提升到 900
- 推荐动作：该 PR 属于应急性质的小幅参数调整，不值得精读。但可作为测试基础设施维护的参考：对于超时类失败，适当放宽阈值是快速稳定 CI 的手段之一。建议同时记录权重加载预期时间，并考虑后续优化加载速度以从根本上消除超时风险。

# 功能与动机

夜间流水线中 `test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py` 测试用例因权重加载耗时过长导致失败，错误信息表明默认 watchdog-timeout 值为 300 秒不足以覆盖加载时间。PR body 明确说明："The actual value of watchdog-timeout is 300"，并指出加载权重超时是失败根因。

# 实现拆解

1. **定位问题**：识别出 `test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py` 在 NPU 夜间流水线中因权重加载时间超过默认 watchdog-timeout（300s）而失败。
2. **参数调整**：在测试类的 `setUpClass` 方法中，向 `popen_launch_server` 的 `other_args` 列表添加 `"--watchdog-timeout"` 和 `"900"`，将 watchdog 超时时间延长至 900 秒。
3. **无需配套修改**：由于仅涉及测试配置参数的调整，无需修改源码、schema 或部署脚本。

关键文件：
- `test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py`（模块 NPU 测试；类别 test；类型 test-coverage）: 唯一被修改的文件；在服务启动参数中添加 `--watchdog-timeout 900` 以延长超时时间，解决权重加载耗时导致的测试失败。

关键符号：未识别

## 关键源码片段

### `test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py`

唯一被修改的文件；在服务启动参数中添加 `--watchdog-timeout 900` 以延长超时时间，解决权重加载耗时导致的测试失败。

```python
# 文件 : test/registered/ascend/basic_function/parallel_strategy/expert_parallelism/test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py
# 变更：在 setUpClass 的服务启动参数中添加 --watchdog-timeout 900

@classmethod
def setUpClass(cls):
    cls.model = DEEPSEEK_V3_2_W8A8_WEIGHTS_PATH
    cls.base_url = DEFAULT_URL_FOR_TEST
    cls.process = popen_launch_server(
        cls.model,
        cls.base_url,
        timeout=6000,  # 整体测试超时保持 6000 秒
        other_args=[
            "--trust-remote-code",
            "--tp-size", "16",
            "--quantization", "modelslim",
            "--moe-a2a-backend", "deepep",
            "--deepep-mode", "low_latency",
            "--mem-fraction-static", 0.82,
            "--disable-cuda-graph",
            "--disable-radix-cache",
            "--context-length", 40960,
            "--max-prefill-tokens", 128,
            "--max-total-tokens", 40960,
            "--watchdog-timeout", 900,  # 新增：将 watchdog 超时从默认 300 秒提高到 900 秒，避免权重加载耗时过长导致进程被误杀
        ],
        env={
            "PYTORCH_NPU_ALLOC_CONF": "expandable_segments:True",
            "STREAMS_PER_DEVICE": "32",
            "SGLANG_DEEPEP_NUM_MAX_DISPATCH_TOKENS_PER_RANK": "128",
            "HCCL_BUFFSIZE": "2048",
            "HCCL_OP_EXPANSION_MODE": "AIV",
            "TASK_QUEUE_ENABLE": "0",
            **os.environ,
        },
    )

```

# 评论区精华

本 PR 无 review 评论，仅有一条来自 `iforgetmyname` 的 `/tag-run-ci-label` 指令用于触发 CI。无技术争议或设计讨论。

- 暂无高价值评论线程

# 风险与影响

- 风险：风险极低。变更仅修改测试用例内的超时参数，不影响任何生产逻辑或模块接口。可能的风险是：如果权重加载时间长期超过 900s，测试仍可能失败，但可进一步调大超时或优化加载流程。另外，过度放宽超时可能掩盖其他潜在的性能退化问题。
- 影响：**影响范围**：仅限 NPU 上 `test_npu_deepep_low_latency_deepseek_v3_2_w8a8.py` 一个测试用例。**影响程度**：低，仅提升测试稳定性，对用户和系统无影响。**团队影响**：减少 NPU 夜间流水线误报，节省排查时间。
- 风险标记：低风险

# 关联脉络

- PR #26775 fix test cases failed on 5/30 in nightly pipeline: 同为 NPU 夜间测试修复 PR，涉及相同的测试文件组，属于持续稳定的同一类工作。
- PR #27238 Add quiet mode for busy mem check (level 1: buffer + dump on leak): 同样关注测试 / 调试基础设施的稳定性改进，修改了调度器组件中的检测器。