-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Light weight Transport action to verify local term before fetching cluster-state from remote #12252
Light weight Transport action to verify local term before fetching cluster-state from remote #12252
Conversation
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:Checks if related components are compatible with change f54184f Incompatible componentsSkipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/flow-framework.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/performance-analyzer.git] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rajivkv-amz for adding this light weight transport !
Want to understand your view on name of the transport, it's actually state's term and version (cluster version can give different understand for someone).
Would StateTermVersionAction
make sense ?
...r/src/main/java/org/opensearch/action/admin/cluster/state/term/ClusterTermVersionAction.java
Outdated
Show resolved
Hide resolved
...src/main/java/org/opensearch/action/admin/cluster/state/term/ClusterTermVersionResponse.java
Outdated
Show resolved
Hide resolved
...src/main/java/org/opensearch/action/admin/cluster/state/term/ClusterTermVersionResponse.java
Outdated
Show resolved
Hide resolved
...n/java/org/opensearch/action/admin/cluster/state/term/TransportClusterTermVersionAction.java
Outdated
Show resolved
Hide resolved
...ain/java/org/opensearch/action/support/clustermanager/TransportClusterManagerNodeAction.java
Outdated
Show resolved
Hide resolved
...ain/java/org/opensearch/action/support/clustermanager/TransportClusterManagerNodeAction.java
Outdated
Show resolved
Hide resolved
@rajivkv-amz |
❕ Gradle check result for cc737fe: UNSTABLE
Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
…fetch of cluster-state Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
…on details Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
… case where the local node has the latest cluster-state Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
…check Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
cc737fe
to
f54184f
Compare
❌ Gradle check result for f54184f: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
@rajiv-kv please follow the reporting workflow for flaky tests on that failure and the ones below
|
Ack ! |
…uster-state from remote (opensearch-project#12252) Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
…uster-state from remote (opensearch-project#12252) Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com>
…uster-state from remote (opensearch-project#12252) Signed-off-by: Rajiv Kumar Vaidyanathan <rajivkv@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Cluster State TermVersion Fetch
Description
If the local node has up-to-date cluster-state it can serve Read requests. This issue introduces a transport action to get the term and version of cluster-state from cluster-manager. If the retrieved data matches with local term and version, the subsequent call to retrieve cluster-state is avoided and the local cluster-state is used. This offloads the responsibility of serving read requests of cluster-data to local node there-by reducing the load on cluster-manager.
Related Issues
Resolves #12272
Check List
Public documentation issue/PR createdBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.