-
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
[Segment Replication] Support realtime reads for GET requests #9212
Conversation
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
...er/src/internalClusterTest/java/org/opensearch/indices/replication/SegmentReplicationIT.java
Show resolved
Hide resolved
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
01e4f2e
to
c313113
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:Checks if related components are compatible with change 7ffcd65 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/asynchronous-search.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/ml-commons.git] |
Compatibility status:Checks if related components are compatible with change 7ffcd65 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/security-analytics.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git] |
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
...er/src/internalClusterTest/java/org/opensearch/indices/replication/SegmentReplicationIT.java
Outdated
Show resolved
Hide resolved
...er/src/internalClusterTest/java/org/opensearch/indices/replication/SegmentReplicationIT.java
Show resolved
Hide resolved
server/src/test/java/org/opensearch/action/get/TransportGetActionTests.java
Outdated
Show resolved
Hide resolved
Compatibility status:Checks if related components are compatible with change 7ffcd65 Incompatible componentsIncompatible components: [https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/security-analytics.git] Skipped componentsCompatible componentsCompatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git] |
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Poojita Raj <[email protected]>
879709a
to
9fece7c
Compare
server/src/test/java/org/opensearch/action/get/TransportGetActionTests.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/action/get/TransportGetAction.java
Outdated
Show resolved
Hide resolved
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Poojita Raj <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-9212-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 914544b182744d7c523f5d1f4f82ab7df256f424
# Push it to GitHub
git push --set-upstream origin backport/backport-9212-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x Then, create a pull request where the |
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> (cherry picked from commit 914544b)
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> Signed-off-by: Gagan Juneja <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> Signed-off-by: Kiran Reddy <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> Signed-off-by: Kaushal Kumar <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> Signed-off-by: Ivan Brusic <[email protected]>
…arch-project#9212) * route to pri shards Signed-off-by: Poojita Raj <[email protected]> * Add changelog entry Signed-off-by: Poojita Raj <[email protected]> * refactor + add multiGet support Signed-off-by: Poojita Raj <[email protected]> * address changes Signed-off-by: Poojita Raj <[email protected]> * add comment and rebase Signed-off-by: Poojita Raj <[email protected]> * address review comments Signed-off-by: Poojita Raj <[email protected]> --------- Signed-off-by: Poojita Raj <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
This change supports realtime reads for GET requests when segment replication is enabled.
If there are no preferences mentioned for the incoming GET request then we route it to primary shards which serve strong reads by parsing source from the translog.
Related Issues
Resolves #8536
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.