Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Backpressure for the request-response protocol doesn't work correctly #14138

Closed
altonen opened this issue May 13, 2023 · 0 comments · Fixed by #14199
Closed

Backpressure for the request-response protocol doesn't work correctly #14138

altonen opened this issue May 13, 2023 · 0 comments · Fixed by #14199
Assignees
Labels
I3-bug The node fails to follow expected behavior.

Comments

@altonen
Copy link
Contributor

altonen commented May 13, 2023

Here the code calls try_send() to try and send the request to the installed request handler and the idea is that the if the channel is full, the request is dropped. But it doesn't work correctly as try_send() always returns Ok(()) because resp_builder is cloned here every time a request is received from remote which adds a new slot to the channel.

The code should check the channel size before creating the MessageRequest object and drop the request in case the channel is full.

@altonen altonen added the I3-bug The node fails to follow expected behavior. label May 13, 2023
@altonen altonen moved this to Backlog 🗒 in Networking May 13, 2023
@dmitry-markin dmitry-markin self-assigned this May 23, 2023
@github-project-automation github-project-automation bot moved this from Backlog 🗒 to Blocked ⛔️ in Networking May 24, 2023
@altonen altonen moved this from Blocked ⛔️ to Done ✅ in Networking May 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
I3-bug The node fails to follow expected behavior.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants