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

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

关键符号

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

评论区精华

弃用窗口管理 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

完整报告

执行摘要

  • 一句话:将所有调用者从弃用的/get_server_info迁移到新的/server_info端点,清理API表面。
  • 推荐动作:建议开发团队快速浏览此PR,关注API清理的最佳实践和弃用管理。对于新贡献者,理解如何管理端点弃用是有价值的学习案例。变更直白,无需深度技术分析,但值得参考以确保未来类似重构的顺利进行。

功能与动机

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

实现拆解

变更按模块拆解: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): 更新Python SDK的get_server_info方法,直接影响所有客户端调用
  • sgl-model-gateway/src/server.rs(模块 sgl-model-gateway): 添加/server_info路由并设置弃用别名,关键网关变更
  • test/registered/core/test_srt_endpoint.py(模块 Testing): 更新核心测试中的端点调用,确保测试覆盖和正确性
  • docs/advanced_features/server_arguments.md(模块 Documentation): 更新文档中的端点引用,影响用户指南和API说明

关键符号:get_server_info (in runtime_endpoint.py), get_server_info (in server.rs route)

评论区精华

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

  • 弃用窗口管理 (documentation): 已添加TODO注释,计划在一个发布周期后移除/get_server_info别名

风险与影响

  • 风险:风险较低,主要包括:1) 遗漏调用者可能导致测试失败或功能异常,尤其在广泛的文件修改中(48个文件);2) 弃用窗口设置不当可能过早移除别名,破坏向后兼容性;3) 文档或代码中残留旧引用,引发混淆。具体风险点在于测试覆盖率是否全面,需验证所有变更文件。
  • 影响:影响范围广但程度低:1) 对用户(开发者),API更加一致,无直接功能变化,但需注意弃用警告;2) 对系统,服务器端已有弃用包装器,变更透明,性能无影响;3) 对团队,减少维护负担,简化API表面,但需确保所有CI测试通过。
  • 风险标记:遗漏调用者, 弃用窗口管理

关联脉络

  • 暂无明显关联 PR

参与讨论