/** * See {@link DirectoryScanner} */ private synchronized void initDirectoryScanner(Configuration conf) { if (directoryScanner != null) { return; } String reason = null; if (conf.getTimeDuration(DFS_DATANODE_DIRECTORYSCAN_INTERVAL_KEY, DFS_DATANODE_DIRECTORYSCAN_INTERVAL_DEFAULT, TimeUnit.SECONDS) < 0) { reason = "verification is turned off by configuration"; } else if ("SimulatedFSDataset".equals(data.getClass().getSimpleName())) { reason = "verifcation is not supported by SimulatedFSDataset"; } if (reason == null) { directoryScanner = new DirectoryScanner(this, data, conf); directoryScanner.start(); } else { LOG.info("Periodic Directory Tree Verification scan " + "is disabled because {}", reason); } }
/** * See {@link DirectoryScanner} */ private synchronized void initDirectoryScanner(Configuration conf) { if (directoryScanner != null) { return; } String reason = null; if (conf.getInt(DFS_DATANODE_DIRECTORYSCAN_INTERVAL_KEY, DFS_DATANODE_DIRECTORYSCAN_INTERVAL_DEFAULT) < 0) { reason = "verification is turned off by configuration"; } else if ("SimulatedFSDataset".equals(data.getClass().getSimpleName())) { reason = "verifcation is not supported by SimulatedFSDataset"; } if (reason == null) { directoryScanner = new DirectoryScanner(this, data, conf); directoryScanner.start(); } else { LOG.info("Periodic Directory Tree Verification scan is disabled because " + reason); } }
/** * See {@link DirectoryScanner} */ private synchronized void initDirectoryScanner(Configuration conf) { if (directoryScanner != null) { return; } String reason = null; if (conf.getInt(DFS_DATANODE_DIRECTORYSCAN_INTERVAL_KEY, DFS_DATANODE_DIRECTORYSCAN_INTERVAL_DEFAULT) < 0) { reason = "verification is turned off by configuration"; } else if ("SimulatedFSDataset".equals(data.getClass().getSimpleName())) { reason = "verifcation is not supported by SimulatedFSDataset"; } if (reason == null) { directoryScanner = new DirectoryScanner(this, data, conf); directoryScanner.start(); } else { LOG.info("Periodic Directory Tree Verification scan is disabled because " + reason); } }
scanner = new DirectoryScanner(dataNode, fds, conf); scanner.setRetainDiffs(true); scanner.start();