-
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
[Remote Store] Add Segment download stats to remotestore stats API #8718
[Remote Store] Add Segment download stats to remotestore stats API #8718
Conversation
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #8718 +/- ##
============================================
- Coverage 71.04% 70.88% -0.17%
+ Complexity 57246 57071 -175
============================================
Files 4764 4757 -7
Lines 270153 270016 -137
Branches 39532 39490 -42
============================================
- Hits 191937 191399 -538
- Misses 62027 62433 +406
+ Partials 16189 16184 -5
|
server/src/main/java/org/opensearch/index/store/DirectoryFileTransferTracker.java
Outdated
Show resolved
Hide resolved
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
This is a user facing change. We should have a corresponding changlelog entry. |
Going ahead without changelog entry. Please make sure to add it in the next PR. |
The backport to
To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-8718-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 77074b4a81f88bab44e9e39e0b6eb9323880e740
# Push it to GitHub
git push --set-upstream origin backport/backport-8718-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x Then, create a pull request where the |
@shourya035 let's raise a manual backport for this. |
private final Logger deletesLogger; | ||
|
||
public final DirectoryFileTransferTracker directoryFileTransferTracker; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now going to apply to every use of the local store.copyFrom. I'm not sure this belongs here? Can we wrap and collect these required stats directly in the remote store directory or a related component?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should think about making this tracking optional by way of an expert setting?
@shourya035 : Can you please create the backport PR to |
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> (cherry picked from commit 77074b4)
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> (cherry picked from commit 77074b4)
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> (cherry picked from commit 77074b4)
…8718) (#9089) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> (cherry picked from commit 77074b4)
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> Signed-off-by: Kaushal Kumar <[email protected]>
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> Signed-off-by: Ivan Brusic <[email protected]>
…pensearch-project#8718) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shourya <[email protected]> Signed-off-by: Ashish Singh <[email protected]> Co-authored-by: Ashish Singh <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Re-opening since #8440 was closed accidentally
Description
_remotestore/stats
APIThe new API output would show a blank JSON node
{}
if the corresponding values in that node are zero. This has been done intentionally to ensure that we do not show 0 stats to the end user which in turn would avoid confusion. This is important since a newly created replica would not upload anything to the remote store and a newly created primary would not download from the remote store.The only exception to this behavior would be a primary shard which has been restored from a remote store. In that case, this API would show both segment upload and download stats for the shard. This behavior would be documented as well.
Sample API outputs from running in local dev setup
P.S:
RemoteRefreshSegmentTracker
was renamed toRemoteRefreshTransferTracker
, because of which the number of Files changes has increased from 13 to 17.Related Issues
Resolves #8395
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.