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

Modify consumingSegmentsInfo endpoint to indicate how many servers failed #12523

Merged

Conversation

gortiz
Copy link
Contributor

@gortiz gortiz commented Feb 29, 2024

Controller endpoint /table/consumingSegmentsInfo may return partial information when servers timeout or there is a parsing error dealing with their response. These cases registered as a log, but there is no notice in the response to understand if it is complete or shows partial information, so it is easy to think that the current issue is that there are segments we are not actually consuming from.

This PR tries to improve the usability of the endpoint by adding the new field serversFailingToRespond on /table/consumingSegmentsInfo that indicates the number of servers that have failed to answer

@codecov-commenter
Copy link

codecov-commenter commented Feb 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 61.46%. Comparing base (59551e4) to head (f4ad6e5).
Report is 132 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #12523      +/-   ##
============================================
- Coverage     61.75%   61.46%   -0.29%     
+ Complexity      207      198       -9     
============================================
  Files          2436     2452      +16     
  Lines        133233   133848     +615     
  Branches      20636    20766     +130     
============================================
- Hits          82274    82270       -4     
- Misses        44911    45406     +495     
- Partials       6048     6172     +124     
Flag Coverage Δ
custom-integration1 <0.01% <0.00%> (-0.01%) ⬇️
integration <0.01% <0.00%> (-0.01%) ⬇️
integration1 <0.01% <0.00%> (-0.01%) ⬇️
integration2 0.00% <0.00%> (ø)
java-11 61.42% <100.00%> (-0.29%) ⬇️
java-21 61.32% <100.00%> (-0.30%) ⬇️
skip-bytebuffers-false 61.44% <100.00%> (-0.31%) ⬇️
skip-bytebuffers-true 61.31% <100.00%> (+33.58%) ⬆️
temurin 61.46% <100.00%> (-0.29%) ⬇️
unittests 61.46% <100.00%> (-0.29%) ⬇️
unittests1 46.34% <ø> (-0.55%) ⬇️
unittests2 27.76% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@@ -132,7 +133,8 @@ private Map<String, List<SegmentConsumerInfo>> getConsumingSegmentsInfoFromServe
if (failedParses != 0) {
LOGGER.warn("Failed to parse {} / {} segment size info responses from servers.", failedParses, serverUrls.size());
}
return serverToConsumingSegmentInfoList;
return new ConsumingSegmentsInfoFromServersResponse(
serverToConsumingSegmentInfoList, serviceResponse._failedResponseCount);
Copy link
Contributor

Choose a reason for hiding this comment

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

Since we are gathering the servers not responded, should we also include un-parsable responses as well?

@gortiz gortiz merged commit 3b45dd6 into apache:master Mar 15, 2024
19 checks passed
@gortiz gortiz deleted the include-servers-failing-in-consumingSegmentsInfo branch March 15, 2024 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants