Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.11.0
-
None
-
None
Description
This issue aims to improve the rack-aware replica placement performance. A major idea is to avoid constructing lists of possible targets for random selection in chooseTarget, which currently needs interating all DatanodeDescriptors. I plan to change the NetworkTopology data structure as follow:
1. each InnerNode stores its childrens as a list;
2. each InnerNode adds a new field numberOfLeaves the total number of leaves (i.e. data nodes) in its subtree.
NetworkTopology will support two new methods:
1. DatanodeDescriptor chooseRandom( String scope): it randomly choose one leave from scope.
2. DatanodeDescriptor chooseRandomExclude(String excludedScope): it randomly choose one leave from ~scope
In addition, Issue 971 will also help improve the performance of the rack-aware DFS patch.
Attachments
Attachments
Issue Links
- incorporates
-
HADOOP-1013 ArithmeticException when number of racks is zero
- Resolved