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

[Enhancement] Verify the chunk size of the snapshot when restoring a searchable snapshot #11741

Closed

Conversation

bugmakerrrrrr
Copy link
Contributor

Description

Verify that the chunk size of a snapshot used in the construction of RemoteSnapshotDirectory is a multiple of the block size. If it is not, an IllegalArgumentException will be thrown.

Related Issues

Resolves #11739

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.

Signed-off-by: panguixin <[email protected]>
Copy link
Contributor

github-actions bot commented Jan 4, 2024

Compatibility status:

Checks if related components are compatible with change 6f7822f

Incompatible components

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/performance-analyzer.git]

Copy link
Contributor

github-actions bot commented Jan 4, 2024

✅ Gradle check result for 6f7822f: SUCCESS

Copy link

codecov bot commented Jan 4, 2024

Codecov Report

Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 71.36%. Comparing base (16d457d) to head (6f7822f).
Report is 255 commits behind head on main.

Files Patch % Lines
...tore/remote/directory/RemoteSnapshotDirectory.java 0.00% 4 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #11741      +/-   ##
============================================
- Coverage     71.44%   71.36%   -0.08%     
+ Complexity    59254    59201      -53     
============================================
  Files          4909     4909              
  Lines        278427   278431       +4     
  Branches      40460    40462       +2     
============================================
- Hits         198914   198712     -202     
- Misses        63005    63170     +165     
- Partials      16508    16549      +41     

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

@andrross
Copy link
Member

andrross commented Jan 4, 2024

Thanks @bugmakerrrrrr! This is definitely an improvement on the existing (broken) behavior. We do have #9676 to track this issue. I believe a more comprehensive fix is to make the code work for any chunk size. Have you looked into that issue?

In the meantime, if we add validation like this, is it possible to do the validation up front at restore time so that it doesn't result in creating a red index and just fails the restore request?

@bugmakerrrrrr
Copy link
Contributor Author

Thanks @bugmakerrrrrr! This is definitely an improvement on the existing (broken) behavior. We do have #9676 to track this issue. I believe a more comprehensive fix is to make the code work for any chunk size. Have you looked into that issue?

No, I haven't. Sorry for missing that. Actually, I have considered adapting to all chunk sizes through multi parts downloading, but at this stage, I want to simplify this problem through verification. Btw, is there any progress on #9676

In the meantime, if we add validation like this, is it possible to do the validation up front at restore time so that it doesn't result in creating a red index and just fails the restore request?

To my understanding, RestoreService currently does not load the IndexShardSnapshot during restore, which means we are unable to obtain the precise chunk size of a snapshot file. Furthermore, given the possibility of incremental snapshots and the flexibility for users to modify chunk sizes, it may be necessary to examine all file information in order to retrieve all chunk sizes.

@andrross
Copy link
Member

Btw, is there any progress on #9676

@bugmakerrrrrr There's no progress on that issue so feel free to take it up if you're interested

@opensearch-trigger-bot
Copy link
Contributor

This PR is stalled because it has been open for 30 days with no activity.

@opensearch-trigger-bot opensearch-trigger-bot bot added stalled Issues that have stalled and removed stalled Issues that have stalled labels Feb 13, 2024
@opensearch-trigger-bot
Copy link
Contributor

This PR is stalled because it has been open for 30 days with no activity.

@opensearch-trigger-bot opensearch-trigger-bot bot added the stalled Issues that have stalled label Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request Search:Searchable Snapshots stalled Issues that have stalled
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Enhancement] Verify the chunk size of the snapshot when restoring a searchable snapshot
3 participants