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

Introduce a unified download manager for remote store operations #12071

Closed

Conversation

kotwanikunal
Copy link
Member

@kotwanikunal kotwanikunal commented Jan 29, 2024

Description

Related Issues

Resolves #11928

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.

@github-actions github-actions bot added enhancement Enhancement or improvement to existing feature or request Search:Remote Search labels Jan 29, 2024
Copy link
Contributor

github-actions bot commented Jan 29, 2024

Compatibility status:

Checks if related components are compatible with change a8af76a

Incompatible components

Incompatible components: [https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/performance-analyzer.git]

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/neural-search.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/security-analytics.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/sql.git]

Copy link
Contributor

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

this.recoverySettings = recoverySettings;
}

public DownloadManager(DownloadManager other) {
Copy link
Member

Choose a reason for hiding this comment

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

Do you really need a copy constructor?

Copy link
Member Author

Choose a reason for hiding this comment

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

The wrapper class StatsTrackingDownloadManager is created within the Translog construct. Copy constructor seems to be a cleaner approach than exposing getter/setters.

Copy link
Contributor

❌ Gradle check result for 5b9ad7d: 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 1, 2024

✅ Gradle check result for eceb712: SUCCESS

Copy link

codecov bot commented Feb 1, 2024

Codecov Report

Attention: Patch coverage is 97.10145% with 2 lines in your changes missing coverage. Please review.

Project coverage is 71.23%. Comparing base (a8dd6a0) to head (eceb712).
Report is 530 commits behind head on main.

Current head eceb712 differs from pull request most recent head a8af76a

Please upload reports for the commit a8af76a to get more accurate results.

Files Patch % Lines
.../remote/transfer/StatsTrackingDownloadManager.java 95.45% 0 Missing and 1 partial ⚠️
...rg/opensearch/index/translog/RemoteFsTranslog.java 75.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main   #12071      +/-   ##
============================================
- Coverage     71.26%   71.23%   -0.04%     
- Complexity    59413    59448      +35     
============================================
  Files          4927     4926       -1     
  Lines        279662   279538     -124     
  Branches      40656    40645      -11     
============================================
- Hits         199311   199125     -186     
- Misses        63725    63848     +123     
+ Partials      16626    16565      -61     

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

@kotwanikunal
Copy link
Member Author

@Bukhtawar / @gbbafna Can you please have a look?

@PublicApi(since = "2.11.0")
public final class RemoteStoreFileDownloader {
private final Logger logger;
@PublicApi(since = "2.13.0")
Copy link
Member

Choose a reason for hiding this comment

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

This is labelled as public api, the renames are breaking changes. Think we need make a new class and deprecate this one?

Copy link
Member

Choose a reason for hiding this comment

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

Can we audit that the PublicApi annotation is correct here? It surprises me that this would be exposed through any plugin-accessible interfaces.

Copy link
Member Author

Choose a reason for hiding this comment

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

I think this was a miss with the previous code push. We might have to keep RemoteStoreFileDownloader until 3.0.0 in that case?

Copy link
Contributor

github-actions bot commented Feb 6, 2024

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

@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 Mar 14, 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 stalled Issues that have stalled and removed stalled Issues that have stalled labels Apr 15, 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 stalled Issues that have stalled and removed stalled Issues that have stalled labels May 16, 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 Jun 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:Remote Search skip-changelog stalled Issues that have stalled
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] Unify remote store related download operations under a single DownloadManager
3 participants