/** * @see JournalManager#purgeLogsOlderThan(long) */ public synchronized void purgeLogsOlderThan(RequestInfo reqInfo, long minTxIdToKeep) throws IOException { checkFormatted(); checkRequest(reqInfo); storage.purgeDataOlderThan(minTxIdToKeep); }
public Boolean canRollBack(String journalId, StorageInfo storage, StorageInfo prevStorage, int targetLayoutVersion, String nameServiceId) throws IOException { return getOrCreateJournal(journalId, nameServiceId, StartupOption.ROLLBACK).canRollBack( storage, prevStorage, targetLayoutVersion); }
@Override public void format(String journalId, String nameServiceId, NamespaceInfo nsInfo, boolean force) throws IOException { jn.getOrCreateJournal(journalId, nameServiceId).format(nsInfo, force); }
Journal(Configuration conf, File logDir, String journalId, StartupOption startOpt, StorageErrorReporter errorReporter) throws IOException { storage = new JNStorage(conf, logDir, startOpt, errorReporter); this.journalId = journalId; refreshCachedData(); this.fjm = storage.getJournalManager(); this.metrics = JournalMetrics.create(this); EditLogFile latest = scanStorageForLatestEdits(); if (latest != null) { updateHighestWrittenTxId(latest.getLastTxId()); } }
@Override public boolean isFormatted(String journalId, String nameServiceId) throws IOException { return jn.getOrCreateJournal(journalId, nameServiceId).isFormatted(); }
@Override public NewEpochResponseProto newEpoch(String journalId, String nameServiceId, NamespaceInfo nsInfo, long epoch) throws IOException { return jn.getOrCreateJournal(journalId, nameServiceId).newEpoch(nsInfo, epoch); }
public void doFinalize(String journalId, String nameServiceId) throws IOException { getOrCreateJournal(journalId, nameServiceId).doFinalize(); }
public void doRollback(String journalId, String nameServiceId) throws IOException { getOrCreateJournal(journalId, nameServiceId, StartupOption.ROLLBACK).doRollback(); }
public void discardSegments(String journalId, long startTxId, String nameServiceId) throws IOException { getOrCreateJournal(journalId, nameServiceId).discardSegments(startTxId); }
public void doPreUpgrade(String journalId) throws IOException { getOrCreateJournal(journalId).doPreUpgrade(); }
public void doUpgrade(String journalId, StorageInfo sInfo) throws IOException { getOrCreateJournal(journalId).doUpgrade(sInfo); }
public Long getJournalCTime(String journalId, String nameServiceId) throws IOException { return getOrCreateJournal(journalId, nameServiceId).getJournalCTime(); }
@Override public void finalizeLogSegment(RequestInfo reqInfo, long startTxId, long endTxId) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .finalizeLogSegment(reqInfo, startTxId, endTxId); }
private void checkFormatted() throws JournalNotFormattedException { if (!isFormatted()) { throw new JournalNotFormattedException("Journal " + storage.getSingularStorageDir() + " not formatted" + " ; journal id: " + journalId); } }
@Override public void heartbeat(RequestInfo reqInfo) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .heartbeat(reqInfo); }
public Journal getOrCreateJournal(String jid, String nameServiceId) throws IOException { return getOrCreateJournal(jid, nameServiceId, StartupOption.REGULAR); }
@Override public void doFinalize(String journalId, String nameServiceId) throws IOException { jn.doFinalize(journalId, nameServiceId); }
@Override public void doRollback(String journalId, String nameServiceId) throws IOException { jn.doRollback(journalId, nameServiceId); }
public void start(String nsId) { if (nsId != null) { this.nameServiceId = nsId; journal.setTriedJournalSyncerStartedwithnsId(true); } if (!journalSyncerStarted && getOtherJournalNodeProxies()) { LOG.info("Starting SyncJournal daemon for journal " + jid); startSyncJournalsDaemon(); journalSyncerStarted = true; } }
/** * @return JournalNode HTTP address */ public InetSocketAddress getHttpAddress() { return httpServer.getHttpAddress(); }