loadEdits(editStreams, getNamesystem()); = getEditLog().selectInputStreams( getEditLog().getCurSegmentTxId(), getEditLog().getCurSegmentTxId()); if (s.getFirstTxId() == getEditLog().getCurSegmentTxId()) { stream = s; long remainingTxns = getEditLog().getLastWrittenTxId() - lastAppliedTxId; new FSEditLogLoader(getNamesystem(), lastAppliedTxId); loader.loadFSEdits(stream, lastAppliedTxId + 1); lastAppliedTxId = loader.getLastAppliedTxId(); assert lastAppliedTxId == getEditLog().getLastWrittenTxId(); } finally { FSEditLog.closeAllStreams(editStreams); setState(BNState.IN_SYNC);
NNStorage bnStorage = bnImage.getStorage(); bnImage.freezeNamespaceAtNextRoll(); bnImage.waitUntilNamespaceFrozen(); long lastApplied = bnImage.getLastAppliedTxId(); LOG.debug("Doing checkpoint. Last applied: " + lastApplied); RemoteEditLogManifest manifest = getRemoteNamenodeProxy().getEditLogManifest(bnImage.getLastAppliedTxId() + 1); backupNode.nnHttpAddress, sig.mostRecentCheckpointTxId, bnStorage, true, false); bnImage.saveDigestAndRenameCheckpointImage(NameNodeFile.IMAGE, sig.mostRecentCheckpointTxId, downloadedHash); lastApplied = sig.mostRecentCheckpointTxId; File file = bnStorage.findImageFile(NameNodeFile.IMAGE, sig.mostRecentCheckpointTxId); bnImage.reloadFromImageFile(file, backupNode.getNamesystem()); long txid = bnImage.getLastAppliedTxId(); bnImage.saveFSImageInAllDirs(backupNode.getNamesystem(), txid); if (!backupNode.namenode.isRollingUpgrade()) { bnImage.updateStorageVersion(); bnImage.convergeJournalSpool();
@Override // NameNode protected void loadNamesystem(Configuration conf) throws IOException { conf.setFloat(DFSConfigKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY, BN_SAFEMODE_THRESHOLD_PCT_DEFAULT); conf.setInt(DFSConfigKeys.DFS_NAMENODE_SAFEMODE_EXTENSION_KEY, BN_SAFEMODE_EXTENSION_DEFAULT); BackupImage bnImage = new BackupImage(conf); this.namesystem = new FSNamesystem(conf, bnImage); namesystem.dir.disableQuotaChecks(); bnImage.setNamesystem(namesystem); bnImage.recoverCreateRead(); }
NNStorage storage = bnImage.getStorage(); nsInfo.validateStorage(storage); bnImage.initEditLog(StartupOption.REGULAR); setRegistration(); NamenodeRegistration nnReg = null;
NamenodeProtocols nnRpc = nn.getRpcServer(); nnRpc.rollEditLog(); assertEquals(bnImage.getEditLog().getCurSegmentTxId(), nn.getFSImage().getEditLog().getCurSegmentTxId()); StorageDirectory sd = bnImage.getStorage().getStorageDir(0); backup.stop(); backup = null;
applyEdits(firstTxId, numTxns, data); break; logEditsLocally(firstTxId, numTxns, data);
private long countUncheckpointedTxns() throws IOException { long curTxId = getRemoteNamenodeProxy().getTransactionID(); long uncheckpointedTxns = curTxId - getFSImage().getStorage().getMostRecentCheckpointTxId(); assert uncheckpointedTxns >= 0; return uncheckpointedTxns; }
@Override public void journal(JournalInfo journalInfo, long epoch, long firstTxId, int numTxns, byte[] records) throws IOException { namesystem.checkOperation(OperationCategory.JOURNAL); verifyJournalRequest(journalInfo); getBNImage().journal(firstTxId, numTxns, records); }
new FSEditLogLoader(getNamesystem(), lastAppliedTxId); int logVersion = storage.getLayoutVersion(); backupInputStream.setBytes(data, logVersion); getNamesystem().dir.updateCountForQuota(); } finally { backupInputStream.clear();
applyEdits(firstTxId, numTxns, data); break;
NNStorage storage = bnImage.getStorage(); nsInfo.validateStorage(storage); bnImage.initEditLog(StartupOption.REGULAR); setRegistration(); NamenodeRegistration nnReg = null;
applyEdits(firstTxId, numTxns, data); break; logEditsLocally(firstTxId, numTxns, data);
private long countUncheckpointedTxns() throws IOException { long curTxId = getRemoteNamenodeProxy().getTransactionID(); long uncheckpointedTxns = curTxId - getFSImage().getStorage().getMostRecentCheckpointTxId(); assert uncheckpointedTxns >= 0; return uncheckpointedTxns; }
@Override public void journal(JournalInfo journalInfo, long epoch, long firstTxId, int numTxns, byte[] records) throws IOException { namesystem.checkOperation(OperationCategory.JOURNAL); verifyJournalRequest(journalInfo); getBNImage().journal(firstTxId, numTxns, records); }
new FSEditLogLoader(getNamesystem(), lastAppliedTxId); int logVersion = storage.getLayoutVersion(); backupInputStream.setBytes(data, logVersion); getNamesystem().dir.getBlockStoragePolicySuite(), getNamesystem().dir.rootDir, quotaInitThreads); } finally { backupInputStream.clear();
NNStorage bnStorage = bnImage.getStorage(); bnImage.freezeNamespaceAtNextRoll(); bnImage.waitUntilNamespaceFrozen(); long lastApplied = bnImage.getLastAppliedTxId(); LOG.debug("Doing checkpoint. Last applied: " + lastApplied); RemoteEditLogManifest manifest = getRemoteNamenodeProxy().getEditLogManifest(bnImage.getLastAppliedTxId() + 1); backupNode.nnHttpAddress, sig.mostRecentCheckpointTxId, bnStorage, true); bnImage.saveDigestAndRenameCheckpointImage(NameNodeFile.IMAGE, sig.mostRecentCheckpointTxId, downloadedHash); lastApplied = sig.mostRecentCheckpointTxId; File file = bnStorage.findImageFile(NameNodeFile.IMAGE, sig.mostRecentCheckpointTxId); bnImage.reloadFromImageFile(file, backupNode.getNamesystem()); long txid = bnImage.getLastAppliedTxId(); bnImage.saveFSImageInAllDirs(backupNode.getNamesystem(), txid); bnStorage.writeAll(); } finally { bnImage.convergeJournalSpool();
loadEdits(editStreams, getNamesystem()); = getEditLog().selectInputStreams( getEditLog().getCurSegmentTxId(), getEditLog().getCurSegmentTxId()); if (s.getFirstTxId() == getEditLog().getCurSegmentTxId()) { stream = s; long remainingTxns = getEditLog().getLastWrittenTxId() - lastAppliedTxId; new FSEditLogLoader(getNamesystem(), lastAppliedTxId); loader.loadFSEdits(stream, lastAppliedTxId + 1); lastAppliedTxId = loader.getLastAppliedTxId(); assert lastAppliedTxId == getEditLog().getLastWrittenTxId(); } finally { FSEditLog.closeAllStreams(editStreams); setState(BNState.IN_SYNC);
@Override // NameNode protected void loadNamesystem(Configuration conf) throws IOException { conf.setFloat(DFSConfigKeys.DFS_NAMENODE_SAFEMODE_THRESHOLD_PCT_KEY, BN_SAFEMODE_THRESHOLD_PCT_DEFAULT); conf.setInt(DFSConfigKeys.DFS_NAMENODE_SAFEMODE_EXTENSION_KEY, BN_SAFEMODE_EXTENSION_DEFAULT); BackupImage bnImage = new BackupImage(conf); this.namesystem = new FSNamesystem(conf, bnImage); namesystem.dir.disableQuotaChecks(); bnImage.setNamesystem(namesystem); bnImage.recoverCreateRead(); }
NNStorage storage = bnImage.getStorage(); nsInfo.validateStorage(storage); bnImage.initEditLog(StartupOption.REGULAR); setRegistration(); NamenodeRegistration nnReg = null;
private long countUncheckpointedTxns() throws IOException { long curTxId = getRemoteNamenodeProxy().getTransactionID(); long uncheckpointedTxns = curTxId - getFSImage().getStorage().getMostRecentCheckpointTxId(); assert uncheckpointedTxns >= 0; return uncheckpointedTxns; }