/** This test attempts to finalize the NameNode and DataNode. */ public void testFinalize() throws Exception { UpgradeUtilities.initialize(); for (int numDirs = 1; numDirs <= 2; numDirs++) { /* This test requires that "current" directory not change after * the upgrade. Actually it is ok for those contents to change. * For now disabling block verification so that the contents are * not changed. */ conf = new Configuration(); conf.setInt("dfs.datanode.scan.period.hours", -1); conf = UpgradeUtilities.initializeStorageStateConf(numDirs, conf); String[] nameNodeDirs = conf.getStrings("dfs.name.dir"); String[] dataNodeDirs = conf.getStrings("dfs.data.dir"); log("Finalize with existing previous dir", numDirs); UpgradeUtilities.createStorageDirs(NAME_NODE, nameNodeDirs, "current"); UpgradeUtilities.createStorageDirs(NAME_NODE, nameNodeDirs, "previous"); UpgradeUtilities.createStorageDirs(DATA_NODE, dataNodeDirs, "current"); UpgradeUtilities.createStorageDirs(DATA_NODE, dataNodeDirs, "previous"); cluster = new MiniDFSCluster(conf, 1, StartupOption.REGULAR); cluster.finalizeCluster(conf); checkResult(nameNodeDirs, dataNodeDirs); log("Finalize without existing previous dir", numDirs); cluster.finalizeCluster(conf); checkResult(nameNodeDirs, dataNodeDirs); cluster.shutdown(); UpgradeUtilities.createEmptyDirs(nameNodeDirs); UpgradeUtilities.createEmptyDirs(dataNodeDirs); } // end numDir loop }