Balancer should work with the logic of BlockPlacementPolicy -----------------------------------------------------------
Key: HDFS-1431 URL: https://issues.apache.org/jira/browse/HDFS-1431 Project: Hadoop HDFS Issue Type: Bug Components: balancer Affects Versions: 0.22.0 Reporter: Scott Chen Assignee: Scott Chen Fix For: 0.22.0 Currently Balancer does not obtain information from BlockPlacementPolicy so it can transfer the blocks without checking with BlockPlacementPolicy. This causes the policy break after the balancer balance the blocks. There are some new BlockPlacementPolicy in HDFS-1094 and MAPREDUCE-1831 in which the block placement follows some pattern. The pattern can be broken by Balancer. I propose that we add the following method in BlockPlacementPolicy: {code} abstract public boolean canBeMoved(String fileName, Block block, DatanodeInfo source, DatanodeInfo destination); {code} And make Balancer use it inside {code} private boolean isGoodBlockCandidate(Source source, BalancerDatanode target, BalancerBlock block) {code} What do you think? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.