Prhub

#25990 [CI] Enable nixl disaggregation test for decode radix cache

原始 PR 作者 ShangmingCai 合并时间 2026-05-21 19:29 文件变更 1 提交数 1 评论 3 代码增减 +4 / -1

执行摘要

启用 nixl 解耦 decode radix cache 测试

之前在 PR#25145 中禁用了 nixl 后端的 decode radix cache 测试,因为 nixl 后端不稳定。现在 bug 已在 PR#25699 中修复,因此可以重新启用该测试来确保 nixl 后端下 decode radix cache 功能的正确性。

此 PR 值得关注,因为它恢复了 nixl 后端的一项重要测试覆盖。对于使用 nixl 进行数据分片传输的团队,建议关注此测试的稳定性。

讨论亮点

PR 没有 review 评论,但作者通过 /rerun-test 命令触发了 CI 测试,且测试通过。

实现拆解

  1. 修改测试文件 test/registered/distributed/test_disaggregation_decode_radix_cache.pyTestDisaggregationDecodeRadixCacheNixl 类的装饰器。
  2. 将原本的 @unittest.skip("Temporarily disabled until nixl backend is stable.") 替换为 @unittest.skipUnless(is_in_ci() or _has_nixl(), "NIXL is required for decode radix cache disaggregation coverage.")
  3. 该变更使得测试在 CI 环境或存在 nixl 库时自动执行,否则跳过。
文件 模块 状态 重要度
test/registered/distributed/test_disaggregation_decode_radix_cache.py 测试 modified 3.89

关键源码片段

test/registered/distributed/test_disaggregation_decode_radix_cache.py test-coverage

核心变更文件,修改了测试类的启用条件,使 nixl 后端测试重新生效。

# test/registered/distributed/test_disaggregation_decode_radix_cache.py
# 将原本无条件跳过的测试,改为在 CI 或环境中存在 nixl 库时才执行
@unittest.skipUnless(
    is_in_ci() or _has_nixl(), # 当在 CI 中或系统安装了 nixl 时运行
    "NIXL is required for decode radix cache disaggregation coverage.",
)
class TestDisaggregationDecodeRadixCacheNixl(
    DisaggregationDecodeRadixCacheTestMixin, PDDisaggregationServerBase
):
    transfer_backend_name = "nixl"

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险较低。该 PR 仅修改测试的启用条件,不影响任何生产代码。潜在风险是如果 nixl 后端仍有未修复的 bug,测试可能失败并导致 CI 不稳定,但已有 bug 修复(PR#25699)。

影响范围仅限于 CI 测试:nixl 后端的 decode radix cache 测试现在将在 CI 中运行,增加了测试覆盖。对用户和系统无直接影响。

测试补强

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论