-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 remote segment transfer stats on NodesStats API #9168
[Remote Store] Add remote segment transfer stats on NodesStats API #9168
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]>
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:
|
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Compatibility status:
|
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #9168 +/- ##
============================================
+ Coverage 71.03% 71.07% +0.04%
- Complexity 57318 57404 +86
============================================
Files 4770 4771 +1
Lines 270540 270623 +83
Branches 39561 39561
============================================
+ Hits 192186 192356 +170
+ Misses 62147 62081 -66
+ Partials 16207 16186 -21
|
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
server/src/main/java/org/opensearch/index/remote/RemoteSegmentStats.java
Outdated
Show resolved
Hide resolved
server/src/internalClusterTest/java/org/opensearch/indices/stats/IndexStatsIT.java
Show resolved
Hide resolved
.../internalClusterTest/java/org/opensearch/remotestore/RemoteSegmentStatsFromNodesStatsIT.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Signed-off-by: Shourya Dutta Biswas <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Compatibility status:
|
Gradle Check (Jenkins) Run Completed with:
|
Overall changes LGTM. |
Build is failing due to flaky test: #9116 |
Gradle Check (Jenkins) Run Completed with:
|
…pensearch-project#9168) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> (cherry picked from commit c9dbd90)
@@ -1377,6 +1384,12 @@ public MergeStats mergeStats() { | |||
public SegmentsStats segmentStats(boolean includeSegmentFileSizes, boolean includeUnloadedSegments) { | |||
SegmentsStats segmentsStats = getEngine().segmentsStats(includeSegmentFileSizes, includeUnloadedSegments); | |||
segmentsStats.addBitsetMemoryInBytes(shardBitsetFilterCache.getMemorySizeInBytes()); | |||
// Populate remote_store stats only if the index is remote store backed |
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.
We are doing an add here and one explicit add in NoOpEngine.java class -
stats.add(this.segmentsStats); |
This seem to be adding same stats twice.
downloadBytesFailed = in.readLong(); | ||
downloadBytesSucceeded = in.readLong(); | ||
maxRefreshTimeLag = in.readLong(); | ||
maxRefreshBytesLag = in.readLong(); |
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.
can this be cumulative refresh bytes lag itself?
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.
left some comments. do take a look.
…pensearch-project#9168) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> (cherry picked from commit c9dbd90)
…pensearch-project#9168) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Kaushal Kumar <[email protected]>
…pensearch-project#9168) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Ivan Brusic <[email protected]>
…pensearch-project#9168) --------- Signed-off-by: Shourya Dutta Biswas <[email protected]> Signed-off-by: Shivansh Arora <[email protected]>
Description
Adding remote segment transfer stats on the NodesStats API output. As of now, we are including the following metrics:
total_uploads.started_bytes
: Amount of segment payload attempted to be uploaded to the remote storetotal_uploads.succeeded_bytes
: Amount of segment payload successfully uploaded to the remote storetotal_uploads.failed_bytes
: Amount of segment payload failed to be uploaded to the remote storemax_refresh_time_lag_in_millis
: Max refresh lag in milliseconds across all the shards on the nodemax_refresh_size_lag_in_bytes
: Max refresh lag in size across all the shards on the nodetotal_downloads.started_bytes
: Amount of segment payload attempted to be downloaded from the remote storetotal_downloads.succeeded_bytes
: Amount of segment payload successfully downloaded from the remote storetotal_downloads.failed_bytes
: Amount of segment payload failed to be downloaded from the remote storeThese are added to the
indices.segment
section of the NodesStats API outputAdded integ test cases to ensure that:
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
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.