[improve] replace bookie from different rack of other quorum when do recovery#3707
[improve] replace bookie from different rack of other quorum when do recovery#3707TakaHiR07 wants to merge 1 commit into
Conversation
dlg99
left a comment
There was a problem hiding this comment.
Please make this configurable with current behavior enabled by default + add tests
|
For |
In some extreme case, such as 5 bookies in 1 rack, 4 bookies down, 1 bookie survive. The recovery throughput would concentrate on this bookie. After recovery, it would result in data skew in this survived bookie. I think it is not really safe, maybe cause some problem. |
@TakaHiR07 If we not ensure the replaced bookie in the same rack, it will break the placement policy in ensemble change and auto recovery. |
@hangc0276 This pr only use the implementation in I think this implementation should not break the RackawarePolicy |
@TakaHiR07 The |
|
rerun failure checks |
Motivation
If we need to do recovery when one bookie down, in the current RackAwarePolicy, it would try picking a candidate from same rack to replace the down bookie firstly. There is a risk that if many bookie in the same rack shutdown, it would result in replacing bookie to the several bookie remain in this rack, making these bookies become hot spot.
Changes
choose the replaced bookie from different rack of other quorum when do recovery or do ensemble change.