Skip to content

Conversation

github-actions[bot]
Copy link

If you tried to send a large XCom value, it would fail in the task/child
process side with this error:

RuntimeError: unable to read full response in child. (We read 36476, but expected 1310046)

(The exact number that was able to read dependent on any different factors,
like the OS, the current state of the socket and other things. Sometimes it
would read up to 256kb fine, othertimes only 35kb as here)

This is because the kernel level read-side socket buffer is full, so that was
as much as the Supervisor could send. The fix is to read in a loop until we
get it all.
(cherry picked from commit b9620bf)

Co-authored-by: Ash Berlin-Taylor [email protected]

…53186)

If you tried to send a large XCom value, it would fail in the task/child
process side with this error:

> RuntimeError: unable to read full response in child. (We read 36476, but expected 1310046)

(The exact number that was able to read dependent on any different factors,
like the OS, the current state of the socket and other things. Sometimes it
would read up to 256kb fine, othertimes only 35kb as here)

This is because the kernel level read-side socket buffer is full, so that was
as much as the Supervisor could send. The fix is to read in a loop until we
get it all.
(cherry picked from commit b9620bf)

Co-authored-by: Ash Berlin-Taylor <[email protected]>
@ashb ashb marked this pull request as ready for review July 11, 2025 15:13
@ashb ashb requested review from kaxil and amoghrajesh as code owners July 11, 2025 15:13
@kaxil kaxil merged commit b57ccf0 into v3-0-test Jul 11, 2025
50 checks passed
@kaxil kaxil deleted the backport-b9620bf-v3-0-test branch July 11, 2025 15:56
kaxil pushed a commit that referenced this pull request Jul 11, 2025
…53186) (#53194)

If you tried to send a large XCom value, it would fail in the task/child
process side with this error:

> RuntimeError: unable to read full response in child. (We read 36476, but expected 1310046)

(The exact number that was able to read dependent on any different factors,
like the OS, the current state of the socket and other things. Sometimes it
would read up to 256kb fine, othertimes only 35kb as here)

This is because the kernel level read-side socket buffer is full, so that was
as much as the Supervisor could send. The fix is to read in a loop until we
get it all.
(cherry picked from commit b9620bf)

Co-authored-by: Ash Berlin-Taylor <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants