[None][fix] Return 3-tuple from check_gen_transfer_status fast path - #14162
Conversation
The pure-CTX early-out in `KvCacheTransceiverV2.check_gen_transfer_status`
returned a 2-tuple `[], []` while the normal path (and the sole caller in
`py_executor._check_disagg_gen_cache_transfer_status`) expects a 3-tuple
`(completed, failed, cancelled_reqs)`. On a GEN rank whose
`_ever_had_recv_session` is still False (e.g. the very first scheduling
iteration after warm-up, before any session has been opened), the
early-return triggered:
ValueError: not enough values to unpack (expected 3, got 2)
File py_executor.py:3874, in _check_disagg_gen_cache_transfer_status
_, _, cancelled_reqs = result
which killed the executor thread and hung the disagg-gen workers.
Fix by returning `[], [], []` so both return paths agree on arity.
Signed-off-by: Xianjie Qiao <xqiao@nvidia.com>
Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
|
/bot run --disable-fail-fast |
|
PR_Github #48475 [ run ] triggered by Bot. Commit: |
|
PR_Github #48475 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #48563 [ run ] triggered by Bot. Commit: |
|
PR_Github #48563 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #48891 [ run ] triggered by Bot. Commit: |
|
PR_Github #48891 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #48917 [ run ] triggered by Bot. Commit: |
|
PR_Github #48917 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #48929 [ run ] triggered by Bot. Commit: |
|
PR_Github #48929 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #49024 [ run ] triggered by Bot. Commit: |
|
PR_Github #49024 [ run ] completed with state |
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
…VIDIA#14162) Signed-off-by: Xianjie Qiao <xqiao@nvidia.com> Signed-off-by: Xianjie <5410381+qiaoxj07@users.noreply.github.com>
Summary
KvCacheTransceiverV2.check_gen_transfer_status: the pure-CTX early-out returned[], []while the normal path and the sole caller (py_executor._check_disagg_gen_cache_transfer_status) expect a 3-tuple(completed, failed, cancelled_reqs).[], [], []/(completed, failed, cancelled_reqs)consistently.Repro
On a fresh disagg run (DSv4-Pro,
ctx1_gen1_dep16, GB300), the GEN side's executor died with:Triggered when
_ever_had_recv_sessionis still False on the first scheduling iteration after warm-up (no recv session opened yet on this rank). The 2-tuple was introduced in #14042 (Skip transceiver tp_allgather when no sessions ever opened).Test plan
bm_deepseek-v4-pro-sol-1024-1024-ratio08-20260514-GB300/ctx1_gen1_dep16_concurrency16_eplb0_mtp0and confirm noValueErroris raised.tests/unittest/disaggregated/pass.