#56104 [Bugfix][NIXL] Fix multiple handles xfer race
原始 PR · 作者 NickLucche · 合并时间 2026-09-15 12:27
NIXL 多句柄传输竞态修复:失败上报与块失效延后
值得精读。重点看三处:(1) `base_worker.py` 的失败记账模型与 `_try_release_xfer_handle` 的「释放失败即保留句柄」语义,这是整个修复成立的基础;(2) `get_transfer_results` 中失败上报、block 失效、pending notif 撤回三件事被合并到同一次 `done_recving` 循环,理解这一时序才能评估后续改动;(3) push 侧 `done_pushing - failed_pushing` 加 `_recving_metadata` 过滤的双重条件,以及由 njhill 内联建议触发、随后被作者修正的 `pull_worker` 判空回归。评审阅读时建议顺带确认是否有超时兜底来覆盖「句柄永不终态」的情况,以及 HMA 的 TODO 是否有后续跟进项。