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

[Remote Store] Introducing mixed mode support for remote store migration #11986

Merged
merged 4 commits into from
Feb 16, 2024

Conversation

gbbafna
Copy link
Collaborator

@gbbafna gbbafna commented Jan 23, 2024

Description

To enable migration of document replication clusters to remote store backed clusters, we will need to allow mixed mode clusters . The behavior is going to be as followed

  1. STRICT Mode - Only one type of node (remote or docrep node) is allowed to join cluster.
  2. MIXED Mode - Any type of node (remote or docrep node) is allowed to join cluster. We will also need another DIRECTION setting to dictate which nodes the new index is going to land . MIXED Mode should only be allowed in an experimental flag till we add complete support for same.

Related Issues

Resolves #[12245]

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)
  • Public documentation issue/PR created

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.

Copy link
Contributor

github-actions bot commented Jan 23, 2024

Compatibility status:

Checks if related components are compatible with change 08afbf4

Incompatible components

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/flow-framework.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/common-utils.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/performance-analyzer.git]

Copy link
Contributor

❌ Gradle check result for 5558dea: 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?

Copy link
Contributor

github-actions bot commented Feb 5, 2024

❌ Gradle check result for 41ee84d: 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?

Copy link
Contributor

github-actions bot commented Feb 7, 2024

❌ Gradle check result for 22ac61f: 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?

Copy link
Contributor

github-actions bot commented Feb 8, 2024

❌ Gradle check result for 0822d4d: 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?

Copy link
Contributor

github-actions bot commented Feb 8, 2024

❌ Gradle check result for f2ce306: 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: Gaurav Bafna <gbbafna@amazon.com>
Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
@opensearch-project opensearch-project deleted a comment from github-actions bot Feb 15, 2024
Copy link
Contributor

❌ Gradle check result for 7161727: 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?

Copy link
Contributor

❕ Gradle check result for 08afbf4: UNSTABLE

  • TEST FAILURES:
      1 org.opensearch.action.admin.indices.create.CreateIndexIT.testCreateAndDeleteIndexConcurrently
      1 org.opensearch.action.admin.indices.create.CreateIndexIT.testCreateAndDeleteIndexConcurrently
      1 org.opensearch.action.admin.indices.create.CreateIndexIT.classMethod
      1 org.opensearch.action.admin.indices.create.CreateIndexIT.classMethod

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Copy link

codecov bot commented Feb 15, 2024

Codecov Report

Attention: 10 lines in your changes are missing coverage. Please review.

Comparison is base (bb0b4b0) 71.46% compared to head (08afbf4) 71.34%.

Files Patch % Lines
...earch/node/remotestore/RemoteStoreNodeService.java 63.63% 7 Missing and 1 partial ⚠️
...nsearch/cluster/coordination/JoinTaskExecutor.java 90.00% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #11986      +/-   ##
============================================
- Coverage     71.46%   71.34%   -0.13%     
+ Complexity    59831    59817      -14     
============================================
  Files          4959     4959              
  Lines        281129   281163      +34     
  Branches      40857    40861       +4     
============================================
- Hits         200917   200595     -322     
- Misses        63509    63891     +382     
+ Partials      16703    16677      -26     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@sachinpkale sachinpkale merged commit 95a1819 into opensearch-project:main Feb 16, 2024
31 of 32 checks passed
@sachinpkale sachinpkale added the backport 2.x Backport to 2.x branch label Feb 16, 2024
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

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-11986-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 95a181914e3035d604db0ef24f56a3920cbeaa87
# Push it to GitHub
git push --set-upstream origin backport/backport-11986-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 base branch is 2.x and the compare/head branch is backport/backport-11986-to-2.x.

@@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Allow to pass the list settings through environment variables (like [], ["a", "b", "c"], ...) ([#10625](https://github.com/opensearch-project/OpenSearch/pull/10625))
- [Admission Control] Integrate CPU AC with ResourceUsageCollector and add CPU AC stats to nodes/stats ([#10887](https://github.com/opensearch-project/OpenSearch/pull/10887))
- [S3 Repository] Add setting to control connection count for sync client ([#12028](https://github.com/opensearch-project/OpenSearch/pull/12028))
- Add Remote Store Migration Experimental flag and allow mixed mode clusters under same ([#11986](https://github.com/opensearch-project/OpenSearch/pull/11986))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to go in the [Unreleased 2.x] section if this PR is intended to be backported. Can you please do the manually backport and fix up this CHANGELOG entry on main as well?

Copy link
Collaborator Author

@gbbafna gbbafna Mar 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure Andrew, will fix it up .

peteralfonsi pushed a commit to peteralfonsi/OpenSearch that referenced this pull request Mar 1, 2024
…ion (opensearch-project#11986)

* Introducing mixed mode support for remote store migration

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Adding changelog

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Refactoring IT and naming changes

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Missing java doc

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

---------

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
rayshrey pushed a commit to rayshrey/OpenSearch that referenced this pull request Mar 18, 2024
…ion (opensearch-project#11986)

* Introducing mixed mode support for remote store migration

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Adding changelog

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Refactoring IT and naming changes

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Missing java doc

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

---------

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
gbbafna added a commit to gbbafna/OpenSearch that referenced this pull request Mar 19, 2024
…ion (opensearch-project#11986)

* Introducing mixed mode support for remote store migration

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Adding changelog

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Refactoring IT and naming changes

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Missing java doc

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

---------

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
sachinpkale pushed a commit that referenced this pull request Mar 19, 2024
…ion (#11986) (#12751)

* Introducing mixed mode support for remote store migration
---------
Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
shiv0408 pushed a commit to Gaurav614/OpenSearch that referenced this pull request Apr 25, 2024
…ion (opensearch-project#11986)

* Introducing mixed mode support for remote store migration

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Adding changelog

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Refactoring IT and naming changes

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

* Missing java doc

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>

---------

Signed-off-by: Gaurav Bafna <gbbafna@amazon.com>
Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch backport-failed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants