Prhub

#21271 Fix disaggregation test bootstrap port conflict

原始 PR 作者 ispobock 合并时间 2026-03-25 12:14 文件变更 11 提交数 1 评论 12 代码增减 +112 / -1

执行摘要

修复 disaggregation 测试中的 bootstrap 端口冲突,避免 CI 失败。

PR 标题和 body 中的 GitHub Actions 链接(https://github.com/sgl-project/sglang/actions/runs/23436739759/job/68185165551#step:6:4403)表明,CI 测试失败是由于 bootstrap 端口冲突导致的。作者 ispobock 通过此修复来避免测试中断,提升开发流程效率。

对于测试维护者和 CI 工程师,建议快速浏览以了解端口配置模式;对于其他开发者,变更简单,无需深度关注。

讨论亮点

Review 过程简单,仅有 hnyls2002 的批准,无实质性讨论或争议。这表明变更被认可为直白的 bugfix。

实现拆解

实现方案分为两个层次:首先,在测试夹具文件 python/sglang/test/server_fixtures/disaggregation_fixture.py 中,修改 setUpClass 方法,添加 cls.bootstrap_port = f"{int(base_port) + 500}",并更新打印语句以包含该端口。其次,在 10 个 disaggregation 测试文件(如 test_disaggregation_basic.py 等)中,为 start_prefillstart_decode 方法添加命令行参数 --disaggregation-bootstrap-port 并引用 cls.bootstrap_port,确保所有测试进程使用一致的端口配置。

文件 模块 状态 重要度
python/sglang/test/server_fixtures/disaggregation_fixture.py test fixtures modified 5.0
test/registered/disaggregation/test_disaggregation_basic.py disaggregation tests modified 4.0

关键符号

setUpClass start_prefill start_decode

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

Approval other

Reviewer hnyls2002 approved the PR without comments.

结论:变更被接受并合并。 · 已解决

风险与影响

风险较低:变更仅限于测试代码,不影响生产环境。潜在风险包括端口计算可能与其他测试冲突(但基于现有端口偏移逻辑,风险可控),以及可能遗漏某些测试文件(但 PR 覆盖了所有相关的 disaggregation 测试文件)。

影响范围有限:主要提升 CI 测试的稳定性和可靠性,减少因端口冲突导致的 flakiness,从而加速开发迭代。对最终用户或系统性能无直接影响。

端口配置依赖 测试覆盖调整

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论