Skip to content

[None][fix] Return 3-tuple in check_gen_transfer_status early-return - #14214

Closed
lingjiew wants to merge 1 commit into
NVIDIA:feat/deepseek_v4from
lingjiew:fix/transceiver-3-tuple-early-return
Closed

[None][fix] Return 3-tuple in check_gen_transfer_status early-return#14214
lingjiew wants to merge 1 commit into
NVIDIA:feat/deepseek_v4from
lingjiew:fix/transceiver-3-tuple-early-return

Conversation

@lingjiew

Copy link
Copy Markdown

PR #14042 (c5226ec) added a perf shortcut that returns ([], []) when _ever_had_recv_session is False, but the contract from #12734 (feb4785) is a 3-tuple (completed, failed, cancelled_reqs). The caller in py_executor.py unpacks 3 values, so the shortcut crashes any GEN rank whose transceiver has not yet opened a recv session, e.g. early in a disagg benchmark before the first KV transfer reaches that rank.

Symptom: "ValueError: not enough values to unpack (expected 3, got 2)" in PyExecutor event loop, leading to hang_detector firing on the remaining ranks 300s later.

@coderabbitai summary

Description

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • If PR introduces API changes, an appropriate PR label is added - either api-compatible or api-breaking. For api-breaking, include BREAKING in the PR title.

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

PR NVIDIA#14042 (c5226ec) added a perf shortcut that returns ([], []) when
_ever_had_recv_session is False, but the contract from NVIDIA#12734 (feb4785)
is a 3-tuple (completed, failed, cancelled_reqs). The caller in
py_executor.py unpacks 3 values, so the shortcut crashes any GEN rank
whose transceiver has not yet opened a recv session, e.g. early in a
disagg benchmark before the first KV transfer reaches that rank.

Symptom: "ValueError: not enough values to unpack (expected 3, got 2)"
in PyExecutor event loop, leading to hang_detector firing on the
remaining ranks 300s later.

Signed-off-by: lingjiew <lingjiew@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant