Skip to content

Simplify InboundPipeline and make it more obviously correct #91350

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

original-brownbear
Copy link
Contributor

Extracted as the hopefully not so controversial change from #80656 which does not alter the ref counting but saves complexity and cycles.

The intermediary fragments list is redundant as it duplicates tracking of fragments in the inbound aggregator. By passing fragments directly down the pipeline instead of putting them into the list we can avoid having to check for end of message in the inbound pipeline entirely.
Also, the logic becomes more obviously safe and correct since we save the unintuitive step of releasing the fragments list in a final loop.

The intermediary fragments list is redundant as it duplicates
tracking of fragments in the inbound aggregator. By passing fragments
directly down the pipeline instead of putting them into the list we can
avoid having to check for end of message in the inbound pipeline
entirely.
Also, the logic becomes of obviously safe and correct since we
save the unintuitive step of releasing the fragments list in a
final loop.
@original-brownbear original-brownbear added :Distributed Coordination/Network Http and internode communication implementations >refactoring v8.6.0 labels Nov 7, 2022
@elasticsearchmachine elasticsearchmachine added the Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. label Nov 7, 2022
@elasticsearchmachine
Copy link
Collaborator

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

@kingherc kingherc added v8.7.0 and removed v8.6.0 labels Nov 16, 2022
@elasticsearchmachine elasticsearchmachine added v9.1.0 Team:Distributed Coordination Meta label for Distributed Coordination team and removed v9.0.0 labels Jan 30, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-distributed-obsolete (Team:Distributed (Obsolete))

@elasticsearchmachine
Copy link
Collaborator

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

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 >refactoring Team:Distributed Coordination Meta label for Distributed Coordination team Team:Distributed (Obsolete) Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination. v9.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants