Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was 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

Description

@altonen

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.

Metadata

Metadata

Assignees

Labels

I3-bugThe node fails to follow expected behavior.

Type

No type

Projects

Status

Done ✅

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions