Optimizes event handling by collapsing queue#6128
Merged
keith-turner merged 4 commits intoapache:mainfrom Feb 17, 2026
Merged
Conversation
dlmarion
approved these changes
Feb 17, 2026
|
|
||
| List<Event> events; | ||
| if (allLevels) { | ||
| events = List.of(new Event()); |
Contributor
There was a problem hiding this comment.
Could make this empty list a constant
Comment on lines
251
to
252
| var ranges = | ||
| events.stream().map(Event::getExtent).map(KeyExtent::toMetaRange).toList(); |
Contributor
There was a problem hiding this comment.
The TabletGroupWatcher in the Manager is now the central point of tablet management actions in the cluster. Do we want to use streams here? It's going to introduce a small amount of latency and garbage in one iteration, but a huge amount over the lifetime of the Manager process.
Contributor
Author
There was a problem hiding this comment.
Removed the streams in 4e4e63a which avoided making two passes over the data and made it possible to add some checks for unexpected cases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduces a specialized queue that collapses internal manager events. For example if a table event and a tablet event for same table are queued then it will collapse down to only the table event. Does the same for data level events, those will cause all table and tablet events under that data level to collapse.
This will be useful for #6119, remote processes can collapse in their buffer before sending to the primary manager. Spun it out into its own change as it also useful on its own.