Skip to content

[Backport 2.x] [Remote Store] Backport remote segment store changes#4380

Merged
Bukhtawar merged 9 commits intoopensearch-project:2.xfrom
sachinpkale:remote_segment_store_changes
Sep 2, 2022
Merged

[Backport 2.x] [Remote Store] Backport remote segment store changes#4380
Bukhtawar merged 9 commits intoopensearch-project:2.xfrom
sachinpkale:remote_segment_store_changes

Conversation

@sachinpkale
Copy link
Copy Markdown
Member

Description

Backport remote segment store changes to 2.x

Original PRs

  • Use RemoteSegmentStoreDirectory instead of RemoteDirectory (#4240)
  • [Remote Store] Add RemoteSegmentStoreDirectory to interact with remote segment store (#4020)
  • [Remote Store] Change remote_store setting validation message to make it more clear (#4199)
  • [Remote Store] Add validator that forces segment replication type before enabling remote store (#4175)
  • [Remote Store] Add rest endpoint for remote store restore (#3576)
  • [Remote Store] Add support to add nested settings for remote store (#4060)
  • [Remote Store] Add remote store restore API implementation (#3642)
  • [Remote Store] Inject remote store in IndexShard instead of RemoteStoreRefreshListener (#3703)
  • [Remote Store] Upload segments to remote store post refresh (#3460)

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

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.

@sachinpkale sachinpkale requested review from a team and reta as code owners September 1, 2022 16:39
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 1, 2022

Gradle Check (Jenkins) Run Completed with:

@sachinpkale sachinpkale force-pushed the remote_segment_store_changes branch from b993c8d to 7a9e17f Compare September 2, 2022 03:11
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 2, 2022

Gradle Check (Jenkins) Run Completed with:

sachinpkale and others added 9 commits September 2, 2022 09:53
…ch-project#3460)

* Add RemoteDirectory interface to copy segment files to/from remote store

Signed-off-by: Sachin Kale <kalsac@amazon.com>

Co-authored-by: Sachin Kale <kalsac@amazon.com>

* Add index level setting for remote store

Signed-off-by: Sachin Kale <kalsac@amazon.com>

Co-authored-by: Sachin Kale <kalsac@amazon.com>

* Add RemoteDirectoryFactory and use RemoteDirectory instance in RefreshListener

Co-authored-by: Sachin Kale <kalsac@amazon.com>
Signed-off-by: Sachin Kale <kalsac@amazon.com>

* Upload segment to remote store post refresh

Signed-off-by: Sachin Kale <kalsac@amazon.com>

Co-authored-by: Sachin Kale <kalsac@amazon.com>
Signed-off-by: Sachin Kale <kalsac@amazon.com>
…reRefreshListener (opensearch-project#3703)

* Inject remote store in IndexShard instead of RemoteStoreRefreshListener

Signed-off-by: Sachin Kale <kalsac@amazon.com>

* Pass supplier of RepositoriesService to RemoteDirectoryFactory

Signed-off-by: Sachin Kale <kalsac@amazon.com>

* Create isRemoteStoreEnabled function for IndexShard

Signed-off-by: Sachin Kale <kalsac@amazon.com>

* Explicitly close remoteStore on indexShard close

Signed-off-by: Sachin Kale <kalsac@amazon.com>

* Change RemoteDirectory.close to a no-op

Signed-off-by: Sachin Kale <kalsac@amazon.com>

Co-authored-by: Sachin Kale <kalsac@amazon.com>
…h-project#3642)

* Add remote restore API implementation

Signed-off-by: Sachin Kale <kalsac@amazon.com>
…pensearch-project#4060)

* Add support to add nested settings for remote store

Signed-off-by: Sachin Kale <kalsac@amazon.com>
…-project#3576)

* Add rest endpoint for remote store restore

Signed-off-by: Sachin Kale <kalsac@amazon.com>
…ore enabling remote store (opensearch-project#4175)

* Add validator that forces segment replication type before enabling remote store

Signed-off-by: Sachin Kale <kalsac@amazon.com>
… it more clear (opensearch-project#4199)

* Change remote_store setting validation message to make it more clear

Signed-off-by: Sachin Kale <kalsac@amazon.com>
…e segment store (opensearch-project#4020)

* Add RemoteSegmentStoreDirectory to interact with remote segment store

Signed-off-by: Sachin Kale <kalsac@amazon.com>
…h-project#4240)

* Use RemoteSegmentStoreDirectory instead of RemoteDirectory

Signed-off-by: Sachin Kale <kalsac@amazon.com>
@sachinpkale sachinpkale force-pushed the remote_segment_store_changes branch from 7a9e17f to e5cb89f Compare September 2, 2022 04:24
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Sep 2, 2022

Gradle Check (Jenkins) Run Completed with:

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Sep 2, 2022

Codecov Report

❌ Patch coverage is 72.86184% with 165 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.73%. Comparing base (ea5b946) to head (e5cb89f).
⚠️ Report is 2754 commits behind head on 2.x.

Files with missing lines Patch % Lines
.../java/org/opensearch/snapshots/RestoreService.java 0.00% 45 Missing ⚠️
...remotestore/restore/RestoreRemoteStoreRequest.java 66.00% 13 Missing and 4 partials ⚠️
...org/opensearch/cluster/routing/RecoverySource.java 54.28% 11 Missing and 5 partials ⚠️
...search/index/shard/RemoteStoreRefreshListener.java 79.48% 12 Missing and 4 partials ⚠️
...emotestore/restore/RestoreRemoteStoreResponse.java 63.88% 10 Missing and 3 partials ⚠️
...java/org/opensearch/index/shard/StoreRecovery.java 68.29% 6 Missing and 7 partials ⚠️
...ore/restore/TransportRestoreRemoteStoreAction.java 25.00% 12 Missing ⚠️
...on/admin/cluster/RestRestoreRemoteStoreAction.java 33.33% 6 Missing ⚠️
...c/main/java/org/opensearch/index/IndexService.java 28.57% 3 Missing and 2 partials ⚠️
...snapshots/restore/RestoreClusterStateListener.java 62.50% 1 Missing and 2 partials ⚠️
... and 10 more
Additional details and impacted files
@@             Coverage Diff              @@
##                2.x    #4380      +/-   ##
============================================
+ Coverage     70.56%   70.73%   +0.17%     
- Complexity    56923    57143     +220     
============================================
  Files          4572     4583      +11     
  Lines        273817   274413     +596     
  Branches      40152    40216      +64     
============================================
+ Hits         193207   194102     +895     
+ Misses        64450    64059     -391     
- Partials      16160    16252      +92     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Bukhtawar Bukhtawar merged commit 03273b5 into opensearch-project:2.x Sep 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants