HDFS-8405. Fix a typo in NamenodeFsck. Contributed by Takanobu Asanuma
This commit is contained in:
parent
a2190bf15d
commit
0c590e1c09
|
@ -868,6 +868,8 @@ Release 2.7.1 - UNRELEASED
|
|||
HDFS-6300. Prevent multiple balancers from running simultaneously
|
||||
(Rakesh R via vinayakumarb)
|
||||
|
||||
HDFS-8405. Fix a typo in NamenodeFsck. (Takanobu Asanuma via szetszwo)
|
||||
|
||||
Release 2.7.0 - 2015-04-20
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -66,7 +66,7 @@ public class FsckServlet extends DfsServlet {
|
|||
namesystem.getNumberOfDatanodes(DatanodeReportType.LIVE);
|
||||
new NamenodeFsck(conf, nn,
|
||||
bm.getDatanodeManager().getNetworkTopology(), pmap, out,
|
||||
totalDatanodes, bm.minReplication, remoteAddress).fsck();
|
||||
totalDatanodes, remoteAddress).fsck();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -121,7 +121,6 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
private final NameNode namenode;
|
||||
private final NetworkTopology networktopology;
|
||||
private final int totalDatanodes;
|
||||
private final short minReplication;
|
||||
private final InetAddress remoteAddress;
|
||||
|
||||
private String lostFound = null;
|
||||
|
@ -181,19 +180,17 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
* @param pmap key=value[] map passed to the http servlet as url parameters
|
||||
* @param out output stream to write the fsck output
|
||||
* @param totalDatanodes number of live datanodes
|
||||
* @param minReplication minimum replication
|
||||
* @param remoteAddress source address of the fsck request
|
||||
*/
|
||||
NamenodeFsck(Configuration conf, NameNode namenode,
|
||||
NetworkTopology networktopology,
|
||||
Map<String,String[]> pmap, PrintWriter out,
|
||||
int totalDatanodes, short minReplication, InetAddress remoteAddress) {
|
||||
int totalDatanodes, InetAddress remoteAddress) {
|
||||
this.conf = conf;
|
||||
this.namenode = namenode;
|
||||
this.networktopology = networktopology;
|
||||
this.out = out;
|
||||
this.totalDatanodes = totalDatanodes;
|
||||
this.minReplication = minReplication;
|
||||
this.remoteAddress = remoteAddress;
|
||||
this.bpPolicy = BlockPlacementPolicy.getInstance(conf, null,
|
||||
networktopology,
|
||||
|
@ -308,7 +305,6 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
final long startTime = Time.monotonicNow();
|
||||
try {
|
||||
if(blockIds != null) {
|
||||
|
||||
String[] blocks = blockIds.split(" ");
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("FSCK started by " +
|
||||
|
@ -561,7 +557,7 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
res.numExpectedReplicas += targetFileReplication;
|
||||
|
||||
// count under min repl'd blocks
|
||||
if(totalReplicasPerBlock < minReplication){
|
||||
if(totalReplicasPerBlock < res.minReplication){
|
||||
res.numUnderMinReplicatedBlocks++;
|
||||
}
|
||||
|
||||
|
@ -582,7 +578,7 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
}
|
||||
|
||||
// count minimally replicated blocks
|
||||
if (totalReplicasPerBlock >= minReplication)
|
||||
if (totalReplicasPerBlock >= res.minReplication)
|
||||
res.numMinReplicatedBlocks++;
|
||||
|
||||
// count missing replicas / under replicated blocks
|
||||
|
@ -601,7 +597,7 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
decommissioningReplicas + " decommissioning replica(s).");
|
||||
}
|
||||
|
||||
// count mis replicated blocks block
|
||||
// count mis replicated blocks
|
||||
BlockPlacementStatus blockPlacementStatus = bpPolicy
|
||||
.verifyBlockPlacement(path, lBlk, targetFileReplication);
|
||||
if (!blockPlacementStatus.isPlacementPolicySatisfied()) {
|
||||
|
@ -724,8 +720,8 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
private void countStorageTypeSummary(HdfsFileStatus file, LocatedBlock lBlk) {
|
||||
StorageType[] storageTypes = lBlk.getStorageTypes();
|
||||
storageTypeSummary.add(Arrays.copyOf(storageTypes, storageTypes.length),
|
||||
namenode.getNamesystem().getBlockManager()
|
||||
.getStoragePolicy(file.getStoragePolicy()));
|
||||
namenode.getNamesystem().getBlockManager()
|
||||
.getStoragePolicy(file.getStoragePolicy()));
|
||||
}
|
||||
|
||||
private void deleteCorruptedFile(String path) {
|
||||
|
@ -1069,7 +1065,7 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
|
|||
((float) (numUnderMinReplicatedBlocks * 100) / (float) totalBlocks))
|
||||
.append(" %)");
|
||||
}
|
||||
res.append("\n ").append("DFSConfigKeys.DFS_NAMENODE_REPLICATION_MIN_KEY:\t")
|
||||
res.append("\n ").append(DFSConfigKeys.DFS_NAMENODE_REPLICATION_MIN_KEY + ":\t")
|
||||
.append(minReplication);
|
||||
}
|
||||
if(corruptFiles>0) {
|
||||
|
|
|
@ -785,7 +785,7 @@ public class TestFsck {
|
|||
System.out.println(outStr);
|
||||
assertTrue(outStr.contains(NamenodeFsck.HEALTHY_STATUS));
|
||||
assertTrue(outStr.contains("UNDER MIN REPL'D BLOCKS:\t1 (100.0 %)"));
|
||||
assertTrue(outStr.contains("DFSConfigKeys.DFS_NAMENODE_REPLICATION_MIN_KEY:\t2"));
|
||||
assertTrue(outStr.contains("dfs.namenode.replication.min:\t2"));
|
||||
} finally {
|
||||
if (cluster != null) {cluster.shutdown();}
|
||||
}
|
||||
|
@ -1052,7 +1052,7 @@ public class TestFsck {
|
|||
PrintWriter out = new PrintWriter(result, true);
|
||||
InetAddress remoteAddress = InetAddress.getLocalHost();
|
||||
NamenodeFsck fsck = new NamenodeFsck(conf, namenode, nettop, pmap, out,
|
||||
NUM_REPLICAS, (short)1, remoteAddress);
|
||||
NUM_REPLICAS, remoteAddress);
|
||||
|
||||
// Run the fsck and check the Result
|
||||
final HdfsFileStatus file =
|
||||
|
@ -1129,7 +1129,7 @@ public class TestFsck {
|
|||
PrintWriter out = new PrintWriter(result, true);
|
||||
InetAddress remoteAddress = InetAddress.getLocalHost();
|
||||
NamenodeFsck fsck = new NamenodeFsck(conf, namenode, nettop, pmap, out,
|
||||
NUM_DN, REPL_FACTOR, remoteAddress);
|
||||
NUM_DN, remoteAddress);
|
||||
|
||||
// Run the fsck and check the Result
|
||||
final HdfsFileStatus file =
|
||||
|
@ -1176,7 +1176,7 @@ public class TestFsck {
|
|||
when(blockManager.getDatanodeManager()).thenReturn(dnManager);
|
||||
|
||||
NamenodeFsck fsck = new NamenodeFsck(conf, namenode, nettop, pmap, out,
|
||||
NUM_REPLICAS, (short)1, remoteAddress);
|
||||
NUM_REPLICAS, remoteAddress);
|
||||
|
||||
String pathString = "/tmp/testFile";
|
||||
|
||||
|
|
Loading…
Reference in New Issue