public Journal getOrCreateJournal(String jid, String nameServiceId) throws IOException { return getOrCreateJournal(jid, nameServiceId, StartupOption.REGULAR); }
public static Journal getJournalFromContext(ServletContext context, String jid) throws IOException { JournalNode jn = (JournalNode)context.getAttribute(JN_ATTRIBUTE_KEY); return jn.getOrCreateJournal(jid); }
@VisibleForTesting public Journal getOrCreateJournal(String jid) throws IOException { return getOrCreateJournal(jid, null, StartupOption.REGULAR); }
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 boolean isFormatted(String journalId, String nameServiceId) throws IOException { return jn.getOrCreateJournal(journalId, nameServiceId).isFormatted(); }
public void discardSegments(String journalId, long startTxId, String nameServiceId) throws IOException { getOrCreateJournal(journalId, nameServiceId).discardSegments(startTxId); }
@Override public void format(String journalId, String nameServiceId, NamespaceInfo nsInfo, boolean force) throws IOException { jn.getOrCreateJournal(journalId, nameServiceId).format(nsInfo, force); }
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(); }
@Override public NewEpochResponseProto newEpoch(String journalId, String nameServiceId, NamespaceInfo nsInfo, long epoch) throws IOException { return jn.getOrCreateJournal(journalId, nameServiceId).newEpoch(nsInfo, epoch); }
public void doPreUpgrade(String journalId) throws IOException { getOrCreateJournal(journalId).doPreUpgrade(); }
@Override public void heartbeat(RequestInfo reqInfo) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .heartbeat(reqInfo); }
@Override public void finalizeLogSegment(RequestInfo reqInfo, long startTxId, long endTxId) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .finalizeLogSegment(reqInfo, startTxId, endTxId); }
@Override public PrepareRecoveryResponseProto prepareRecovery(RequestInfo reqInfo, long segmentTxId) throws IOException { return jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .prepareRecovery(reqInfo, segmentTxId); }
@Override public void acceptRecovery(RequestInfo reqInfo, SegmentStateProto log, URL fromUrl) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .acceptRecovery(reqInfo, log, fromUrl); }
@Override public void purgeLogsOlderThan(RequestInfo reqInfo, long minTxIdToKeep) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .purgeLogsOlderThan(reqInfo, minTxIdToKeep); }
@Override public void journal(RequestInfo reqInfo, long segmentTxId, long firstTxnId, int numTxns, byte[] records) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .journal(reqInfo, segmentTxId, firstTxnId, numTxns, records); }
@Override public void startLogSegment(RequestInfo reqInfo, long txid, int layoutVersion) throws IOException { jn.getOrCreateJournal(reqInfo.getJournalId(), reqInfo.getNameServiceId()) .startLogSegment(reqInfo, txid, layoutVersion); }
@SuppressWarnings("deprecation") @Override public GetJournalStateResponseProto getJournalState(String journalId, String nameServiceId) throws IOException { long epoch = jn.getOrCreateJournal(journalId, nameServiceId).getLastPromisedEpoch(); return GetJournalStateResponseProto.newBuilder() .setLastPromisedEpoch(epoch) .setHttpPort(jn.getBoundHttpAddress().getPort()) .setFromURL(jn.getHttpServerURI()) .build(); }
@SuppressWarnings("deprecation") @Override public GetEditLogManifestResponseProto getEditLogManifest( String jid, String nameServiceId, long sinceTxId, boolean inProgressOk) throws IOException { RemoteEditLogManifest manifest = jn.getOrCreateJournal(jid, nameServiceId) .getEditLogManifest(sinceTxId, inProgressOk); return GetEditLogManifestResponseProto.newBuilder() .setManifest(PBHelper.convert(manifest)) .setHttpPort(jn.getBoundHttpAddress().getPort()) .setFromURL(jn.getHttpServerURI()) .build(); }