Skip to content

Conversation

@DaveCTurner
Copy link
Contributor

Re-applying #126441 with the extra FlowControlHandler needed to ensure
one-chunk-per-read semantics - see #127111 for related tests.

Re-applying elastic#126441 with the extra `FlowControlHandler` needed to ensure
one-chunk-per-read semantics - see elastic#127111 for related tests.
@DaveCTurner DaveCTurner added >enhancement :Distributed Coordination/Network Http and internode communication implementations v9.1.0 labels Apr 23, 2025
@DaveCTurner DaveCTurner changed the title Add flow-control and remove auto-read in netty4 HTTP pipeline Replace auto-read with proper flow-control in HTTP pipeline Apr 23, 2025
@elasticsearchmachine
Copy link
Collaborator

Hi @DaveCTurner, I've created a changelog YAML for you.

@elasticsearchmachine elasticsearchmachine added the Team:Distributed Coordination Meta label for Distributed Coordination team label Apr 23, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination)

Comment on lines +432 to +435
// See https://github.com/netty/netty/issues/15053: the combination of FlowControlHandler and HttpContentDecompressor above
// can emit multiple chunks per read, but HttpBody.Stream requires chunks to arrive one-at-a-time so until that issue is
// resolved we must add another flow controller here:
ch.pipeline().addLast(new FlowControlHandler());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the bit that was missing from #126441 - it's covered by tests added in #127237 and #127111.

Copy link
Contributor

@mhl-b mhl-b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@DaveCTurner DaveCTurner merged commit 3cf7061 into elastic:main Apr 25, 2025
17 checks passed
@DaveCTurner DaveCTurner deleted the 2025/04/23/netty-autoread-reapply branch April 25, 2025 06:49
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request Apr 25, 2025
DaveCTurner added a commit that referenced this pull request Apr 25, 2025
…127259)" (#127403)

This reverts commit 3cf7061 and unmutes
the associated tests

Closes #127391
Closes #127392
DaveCTurner added a commit to DaveCTurner/elasticsearch that referenced this pull request May 7, 2025
Re-applying elastic#126441 (cf. elastic#127259) with:

- the extra `FlowControlHandler` needed to ensure one-chunk-per-read
  semantics (also present in elastic#127259).

- no extra `read()` after exhausting a `Netty4HttpRequestBodyStream`
  (the bug behind elastic#127391 and elastic#127391).

See elastic#127111 for related tests.
elasticsearchmachine pushed a commit that referenced this pull request May 8, 2025
Re-applying #126441 (cf. #127259) with:

- the extra `FlowControlHandler` needed to ensure one-chunk-per-read
  semantics (also present in #127259).

- no extra `read()` after exhausting a `Netty4HttpRequestBodyStream`
  (the bug behind #127391 and #127391).

See #127111 for related tests.
ywangd pushed a commit to ywangd/elasticsearch that referenced this pull request May 9, 2025
…127817)

Re-applying elastic#126441 (cf. elastic#127259) with:

- the extra `FlowControlHandler` needed to ensure one-chunk-per-read
  semantics (also present in elastic#127259).

- no extra `read()` after exhausting a `Netty4HttpRequestBodyStream`
  (the bug behind elastic#127391 and elastic#127391).

See elastic#127111 for related tests.
jfreden pushed a commit to jfreden/elasticsearch that referenced this pull request May 12, 2025
…127817)

Re-applying elastic#126441 (cf. elastic#127259) with:

- the extra `FlowControlHandler` needed to ensure one-chunk-per-read
  semantics (also present in elastic#127259).

- no extra `read()` after exhausting a `Netty4HttpRequestBodyStream`
  (the bug behind elastic#127391 and elastic#127391).

See elastic#127111 for related tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Distributed Coordination/Network Http and internode communication implementations >enhancement Team:Distributed Coordination Meta label for Distributed Coordination team v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants