-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix][broker] Fix some problems in calculate totalAvailableBookies in method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. #24091
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
Conversation
… method getExcludedBookiesWithIsolationGroups
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.
LGTM, good work @hanmz
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #24091 +/- ##
============================================
+ Coverage 73.57% 74.24% +0.67%
+ Complexity 32624 32445 -179
============================================
Files 1877 1863 -14
Lines 139502 144315 +4813
Branches 15299 16460 +1161
============================================
+ Hits 102638 107150 +4512
+ Misses 28908 28706 -202
- Partials 7956 8459 +503
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 6052e72)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 5a4aed5)
… method getExcludedBookiesWithIsolationGroups when some bookies belongs to multiple isolation groups. (apache#24091) (cherry picked from commit 556024d) (cherry picked from commit 5a4aed5)
Motivation
Currently, the values of
totalAvailableBookiesInPrimaryGroup
andtotalAvailableBookiesFromPrimaryAndSecondary
may not be accurate because there may be repeated accumulation when some bookies belongs to multiple isolation groups.For example: There are 3 bookies in total and has 3 group, the distribution is as follows
Group1: bk1
Group2: bk2,bk3
Group3: bk1
When
primaryIsolationGroup
contains Group1 and Group3,secondaryIsolationGroup
contains Group2, when execute the methodgetExcludedBookiesWithIsolationGroups(2, groups[primaryIsolationGroup,secondaryIsolationGroup])
. The correct return value should be empty but current return bk2 and bk3.The calculation of
totalAvailableBookiesFromPrimaryAndSecondary
has similar problems.Modifications
Fix the calculation logic of
totalAvailableBookiesInPrimaryGroup
andtotalAvailableBookiesFromPrimaryAndSecondary
.Documentation
doc
doc-required
doc-not-needed
doc-complete