-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Search only replicas (scale to zero) with Reader/Writer Separation #17299
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
Conversation
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
|
❌ Gradle check result for e89b812: 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? |
|
While I refactor the code and add additional tests, I’m creating this PR to gather early feedback please take a look and add your thoughts. I will share the testing results in the comments. Thanks! |
|
❌ Gradle check result for 1bd7c6a: 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? |
I went through and tested the following scenariosScenario 1: Search-Only Replicas Recovery with Persistent Data Directory and when
|
|
Coming from #17299 (comment) @shwetathareja can you please go over scenario 2 and 3 and if it make sense. I wanted to understand why |
8f1d4ea to
7fa5133
Compare
|
❌ Gradle check result for 7fa5133: 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? |
7fa5133 to
64bb954
Compare
|
I have updated the PR to adjust the cluster health configuration using only search replicas and to incorporate the changes made when |
|
❌ Gradle check result for 64bb954: 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? |
64bb954 to
470c0ea
Compare
|
❌ Gradle check result for 470c0ea: 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? |
|
Adding @sachinpkale can you please take a look at this comment #17299 (comment) and provide your thoughts to understand why I dint get much info from the docs https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#restoring-from-a-backup. |
server/src/main/java/org/opensearch/rest/action/admin/indices/RestSearchonlyAction.java
Outdated
Show resolved
Hide resolved
|
❌ Gradle check result for d891a8e: 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? |
|
❕ Gradle check result for d891a8e: 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. |
|
❌ Gradle check result for 7064efc: 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? |
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
7064efc to
4f3b2a5
Compare
|
I think this is in a good state, I'd like to get this merged so we can bake this and iterate if needed before 3.0 cutoff. |
|
❌ Gradle check result for 6cd6033: 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? |
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
6cd6033 to
096672c
Compare
Signed-off-by: Prudhvi Godithi <pgodithi@amazon.com>
|
Thanks @mch2 I have resolved the conversations/comments which should now allow maintainers to merge the PR. |
Description
The primary goal is to allow users to designate an index as search-only allowing only to have the search only replicas running when enabled via an API call
(can be disabled as_searchonly/enable)._searchonly/disableWith
for an index the process has Two-Phase Scale-Down with a temporary block for the duration of the scale-down operation and then explicitly replace it with a permanent block once all prerequisites (e.g., shard sync, flush, metadata updates) have been met._searchonly/enableFrom #17299 (comment) using
_scaleAPI withsearch_onlyset to true or false.Eliminates the need for users to manually invoke the
_remotestore/_restoreAPI to recover search-only replicas with_searchonly/enable, has automatic recovery of search-only replicas from the remote store during cluster recovery. The default behavior is still honored in normal conditions https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#restoring-from-a-backup. More testing scenarios added here Search only replicas (scale to zero) with Reader/Writer Separation #17299 (comment).To Do (Work on the cluster health, coming from [META] Reader/Writer Separation #15306 (comment) add this similar implementation)This PR also has updated cluster health code Search only replicas (scale to zero) with Reader/Writer Separation #17299 (comment).Related Issues
#16720 and part of #15306
Check List
By 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.