HDFS-2974. MiniDFSCluster does not delete standby NN name dirs during format. Contributed by Aaron T. Myers.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-1623@1291126 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
41e56dfece
commit
d03dac7432
@ -218,3 +218,5 @@ HDFS-2937. TestDFSHAAdmin needs tests with MiniDFSCluster. (Brandon Li via sures
|
||||
HDFS-2586. Add protobuf service and implementation for HAServiceProtocol. (suresh via atm)
|
||||
|
||||
HDFS-2952. NN should not start with upgrade option or with a pending an unfinalized upgrade. (atm)
|
||||
|
||||
HDFS-2974. MiniDFSCluster does not delete standby NN name dirs during format. (atm)
|
||||
|
@ -626,6 +626,15 @@ private void createNameNodesAndSetConf(MiniDFSNNTopology nnTopology,
|
||||
for (NNConf nn : nameservice.getNNs()) {
|
||||
initNameNodeConf(conf, nsId, nn.getNnId(), manageNameDfsDirs,
|
||||
nnCounterForFormat);
|
||||
Collection<URI> namespaceDirs = FSNamesystem.getNamespaceDirs(conf);
|
||||
if (format) {
|
||||
for (URI nameDirUri : namespaceDirs) {
|
||||
File nameDir = new File(nameDirUri);
|
||||
if (nameDir.exists() && !FileUtil.fullyDelete(nameDir)) {
|
||||
throw new IOException("Could not fully delete " + nameDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolean formatThisOne = format;
|
||||
if (format && i++ > 0) {
|
||||
@ -635,14 +644,14 @@ private void createNameNodesAndSetConf(MiniDFSNNTopology nnTopology,
|
||||
// from the first one.
|
||||
formatThisOne = false;
|
||||
assert (null != prevNNDirs);
|
||||
copyNameDirs(prevNNDirs, FSNamesystem.getNamespaceDirs(conf), conf);
|
||||
copyNameDirs(prevNNDirs, namespaceDirs, conf);
|
||||
}
|
||||
|
||||
nnCounterForFormat++;
|
||||
if (formatThisOne) {
|
||||
DFSTestUtil.formatNameNode(conf);
|
||||
}
|
||||
prevNNDirs = FSNamesystem.getNamespaceDirs(conf);
|
||||
prevNNDirs = namespaceDirs;
|
||||
}
|
||||
|
||||
// Start all Namenodes
|
||||
|
@ -655,6 +655,7 @@ private static void assertClusterStartFailsWhenDirLocked(
|
||||
sdToLock.lock();
|
||||
try {
|
||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf)
|
||||
.format(false)
|
||||
.manageNameDfsDirs(false)
|
||||
.numDataNodes(0)
|
||||
.build();
|
||||
|
Loading…
Reference in New Issue
Block a user