Skip to content
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

[ClusterManager - Read Actions] Leverage the ClusterState from Publish phase for serving Admin Read API's #15414

Closed
rajiv-kv opened this issue Aug 26, 2024 · 1 comment · Fixed by #15424
Labels
Cluster Manager enhancement Enhancement or improvement to existing feature or request

Comments

@rajiv-kv
Copy link
Contributor

rajiv-kv commented Aug 26, 2024

Is your feature request related to a problem? Please describe

ClusterManager uses the committed ClusterState on node for serving Read Requests. If the applied cluster-state is not in-sync with cluster-manager, nodes fetche the entire cluster-state from cluster-manager. In large clusters, appliers might take significant time to commit the cluster-state.

During this duration, the read requests on the node fetch the cluster-state from cluster-manager as the term-version will not match.

Describe the solution you'd like

Cluster Manager has two phases :- Publish and Commit to propagate the Cluster State updates from leader to follower.
As part of publish phase, the updated cluster-state is published to all nodes in cluster. The nodes cache the published cluster-state locally. Transport handlers of Read Admin API's fetch the cluster-wide committed term and version from cluster-manager. Nodes can utilize cached cluster-state that is published but not yet committed locally if the term-version matches.

This will help especially for large clusters where there is a significant delay in order of seconds (~18s in 1000 node cluster) between the publication and commit of cluster-state.

Related component

Cluster Manager

Describe alternatives you've considered

No response

Additional context

No response

@rajiv-kv rajiv-kv added enhancement Enhancement or improvement to existing feature or request untriaged labels Aug 26, 2024
@rajiv-kv
Copy link
Contributor Author

[Triage - attendees 1 2 3]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cluster Manager enhancement Enhancement or improvement to existing feature or request
Projects
Status: ✅ Done
Development

Successfully merging a pull request may close this issue.

2 participants