HDFS-5581. NameNodeFsck should use only one instance of BlockPlacementPolicy (vinay via cmccabe)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1547088 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7b60e94c09
commit
13331a6863
@ -664,6 +664,9 @@ Release 2.2.1 - UNRELEASED
|
|||||||
|
|
||||||
HDFS-5568. Support includeSnapshots option with Fsck command. (Vinayakumar B via umamahesh)
|
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
|
OPTIMIZATIONS
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
@ -144,6 +144,8 @@ public class NamenodeFsck {
|
|||||||
private final PrintWriter out;
|
private final PrintWriter out;
|
||||||
private List<String> snapshottableDirs = null;
|
private List<String> snapshottableDirs = null;
|
||||||
|
|
||||||
|
private BlockPlacementPolicy bpPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filesystem checker.
|
* Filesystem checker.
|
||||||
* @param conf configuration (namenode config)
|
* @param conf configuration (namenode config)
|
||||||
@ -166,6 +168,8 @@ public class NamenodeFsck {
|
|||||||
this.totalDatanodes = totalDatanodes;
|
this.totalDatanodes = totalDatanodes;
|
||||||
this.minReplication = minReplication;
|
this.minReplication = minReplication;
|
||||||
this.remoteAddress = remoteAddress;
|
this.remoteAddress = remoteAddress;
|
||||||
|
this.bpPolicy = BlockPlacementPolicy.getInstance(conf, null,
|
||||||
|
networktopology);
|
||||||
|
|
||||||
for (Iterator<String> it = pmap.keySet().iterator(); it.hasNext();) {
|
for (Iterator<String> it = pmap.keySet().iterator(); it.hasNext();) {
|
||||||
String key = it.next();
|
String key = it.next();
|
||||||
@ -399,9 +403,8 @@ void check(String parent, HdfsFileStatus file, Result res) throws IOException {
|
|||||||
locs.length + " replica(s).");
|
locs.length + " replica(s).");
|
||||||
}
|
}
|
||||||
// verify block placement policy
|
// verify block placement policy
|
||||||
BlockPlacementStatus blockPlacementStatus =
|
BlockPlacementStatus blockPlacementStatus = bpPolicy
|
||||||
BlockPlacementPolicy.getInstance(conf, null, networktopology).
|
.verifyBlockPlacement(path, lBlk, targetFileReplication);
|
||||||
verifyBlockPlacement(path, lBlk, targetFileReplication);
|
|
||||||
if (!blockPlacementStatus.isPlacementPolicySatisfied()) {
|
if (!blockPlacementStatus.isPlacementPolicySatisfied()) {
|
||||||
res.numMisReplicatedBlocks++;
|
res.numMisReplicatedBlocks++;
|
||||||
misReplicatedPerFile++;
|
misReplicatedPerFile++;
|
||||||
|
Loading…
Reference in New Issue
Block a user