Prhub

#21463 Migrate all callers from /get_server_info to /server_info

原始 PR 作者 sawsa307 合并时间 2026-04-02 12:17 文件变更 48 提交数 9 评论 6 代码增减 +74 / -70

执行摘要

将所有调用者从弃用的 /get_server_info 迁移到新的 /server_info 端点,清理 API 表面。

根据Issue #21054,/get_server_info是弃用的别名,服务器已记录弃用警告,但约49个文件仍引用旧端点。PR旨在迁移所有内部调用者,减少API表面混淆并确保新代码使用正确路径。

建议开发团队快速浏览此PR,关注API清理的最佳实践和弃用管理。对于新贡献者,理解如何管理端点弃用是有价值的学习案例。变更直白,无需深度技术分析,但值得参考以确保未来类似重构的顺利进行。

讨论亮点

review评论由gemini-code-assist[bot]提供,主要关注TODO注释,强调弃用窗口的重要性。例如,在mini_lb.py中添加的TODO注释被标记为中等优先级,提醒未来移除别名;在discover_metadata.rs中讨论了函数重命名和回退机制的未来清理。没有实质性争议,讨论集中于确保平滑过渡和代码管理。

实现拆解

变更按模块拆解:

1) 文档更新(如server_arguments.md、sgl_model_gateway.md),修正端点引用;
2) 客户端调用迁移,包括Python SDK的runtime_endpoint.py中get_server_info方法、基准测试脚本(bench_serving.py)和profiler;
3) 测试文件全面更新,覆盖speculative decoding、MLA、EP、DP、HiCache、quantization、AMD、Ascend等模块;
4) sgl-model-gateway中添加/server_info路由并保留/get_server_info别名,设置TODO注释用于一个发布周期的弃用窗口。

文件 模块 状态 重要度
python/sglang/lang/backend/runtime_endpoint.py Python SDK modified 7.0
sgl-model-gateway/src/server.rs sgl-model-gateway modified 7.0
test/registered/core/test_srt_endpoint.py Testing modified 6.0
docs/advanced_features/server_arguments.md Documentation modified 5.0

关键符号

get_server_info (in runtime_endpoint.py) get_server_info (in server.rs route)

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

评论区精华

弃用窗口管理 documentation

gemini-code-assist[bot] 评论关注 TODO 注释的重要性,强调确保弃用窗口清晰定义和未来清理

结论:已添加 TODO 注释,计划在一个发布周期后移除 /get_server_info 别名 · 已解决

风险与影响

风险较低,主要包括:

1) 遗漏调用者可能导致测试失败或功能异常,尤其在广泛的文件修改中(48个文件);
2) 弃用窗口设置不当可能过早移除别名,破坏向后兼容性;
3) 文档或代码中残留旧引用,引发混淆。具体风险点在于测试覆盖率是否全面,需验证所有变更文件。

影响范围广但程度低:

1) 对用户(开发者),API更加一致,无直接功能变化,但需注意弃用警告;
2) 对系统,服务器端已有弃用包装器,变更透明,性能无影响;
3) 对团队,减少维护负担,简化API表面,但需确保所有CI测试通过。

遗漏调用者 弃用窗口管理

关联 Issue

#21054 Deprecate and remove /get_server_info endpoint

完整报告

参与讨论