Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
The existing two NetworkTopology.chooseRandom(..) API support choosing node from scope and choosing outside scope. BlockPlacementPolicyDefault class use these two API to choose node from one rack or choose outside one rack.
We want to implement a new placement policy called BlockPlacementPolicyFaultTolerant which tries its best to place replicas to most racks. To achieve this, We need to know how many replicas each rack has. And first, we need to get all racks.