Author: cmccabe Date: Mon Dec 2 16:31:03 2013 New Revision: 1547088 URL: http://svn.apache.org/r1547088 Log: HDFS-5581. NameNodeFsck should use only one instance of BlockPlacementPolicy (vinay via cmccabe)
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NamenodeFsck.java Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1547088&r1=1547087&r2=1547088&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Mon Dec 2 16:31:03 2013 @@ -664,6 +664,9 @@ Release 2.2.1 - UNRELEASED HDFS-5568. Support includeSnapshots option with Fsck command. (Vinayakumar B via umamahesh) + HDFS-5581. NameNodeFsck should use only one instance of + BlockPlacementPolicy. (vinay via cmccabe) + OPTIMIZATIONS BUG FIXES Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NamenodeFsck.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NamenodeFsck.java?rev=1547088&r1=1547087&r2=1547088&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NamenodeFsck.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NamenodeFsck.java Mon Dec 2 16:31:03 2013 @@ -144,6 +144,8 @@ public class NamenodeFsck { private final PrintWriter out; private List<String> snapshottableDirs = null; + private BlockPlacementPolicy bpPolicy; + /** * Filesystem checker. * @param conf configuration (namenode config) @@ -166,6 +168,8 @@ public class NamenodeFsck { this.totalDatanodes = totalDatanodes; this.minReplication = minReplication; this.remoteAddress = remoteAddress; + this.bpPolicy = BlockPlacementPolicy.getInstance(conf, null, + networktopology); for (Iterator<String> it = pmap.keySet().iterator(); it.hasNext();) { String key = it.next(); @@ -399,9 +403,8 @@ public class NamenodeFsck { locs.length + " replica(s)."); } // verify block placement policy - BlockPlacementStatus blockPlacementStatus = - BlockPlacementPolicy.getInstance(conf, null, networktopology). - verifyBlockPlacement(path, lBlk, targetFileReplication); + BlockPlacementStatus blockPlacementStatus = bpPolicy + .verifyBlockPlacement(path, lBlk, targetFileReplication); if (!blockPlacementStatus.isPlacementPolicySatisfied()) { res.numMisReplicatedBlocks++; misReplicatedPerFile++;