修复 /v1/loads 接口 LoRA 状态不显示 Bug
该 PR 虽然代码量极小,但修复了一个从 #16976 引入的长期 Bug,对使用 LoRA 的部署具有实际意义。建议阅读者关注:1)幽灵属性 `lora_scheduler` 的来历(或许可以通过仓库搜索确认其是否在其他地方被误用);2)`hasattr` 防御式编程可能隐藏此类 Bug,直接使用已知属性更安全。
SGLang is a high-performance serving framework for large language models and multimodal models.
修复 /v1/loads 接口 LoRA 状态不显示 Bug
该 PR 虽然代码量极小,但修复了一个从 #16976 引入的长期 Bug,对使用 LoRA 的部署具有实际意义。建议阅读者关注:1)幽灵属性 `lora_scheduler` 的来历(或许可以通过仓库搜索确认其是否在其他地方被误用);2)`hasattr` 防御式编程可能隐藏此类 Bug,直接使用已知属性更安全。
简化 running_batch 和 running_mbs 的条件守卫
建议快速合并。该 PR 是机械重构的一个安全示例,适合作为代码阅读的参考,但不需要精读。
将 forward_pass_device_timer 初始化为 None
可以合并。这是一个小型机械重构,提升了代码可维护性,无功能变化。
原始 PR · 作者 merrymercy · 合并时间 2026-05-16 09:20
KL 测试工具默认温度改为 0.0
值得合并,测试稳定性改进。建议确认所有调用方均无依赖旧默认值的意外行为。
删除两个冗余的 hasattr 守卫语句
可以直接合并的低风险机械重构。适合作为机械重构链中的一环,展示了如何安全地淘汰防御性编程遗迹。值得精读 PR body 的分析方法——通过追溯属性赋值点来证明守卫无效。
用 sentinel 替换 hasattr 惰性初始化
值得精读的示例性重构:展示了如何用 sentinel 消除 `hasattr` 的隐式依赖,使缓存语义明确。适合作为代码可维护性改进的参考。
移除防御性 getattr,直接访问属性
值得精读:这是一个教科书级的机械重构案例,展示了如何安全地将防御性 `getattr` 替换为直接属性访问,提升代码健壮性。可作为团队代码清理的参考。
移除 5 个文件中未使用的实例属性
值得合并,属低风险技术债务清理。建议审核时确认这些字段确实无外部引用(如通过 grep 验证)。此外,此 PR 可作为后续更大范围属性清理(如 scheduler 中类似字段)的参考模式。
参与讨论