public class JournalSet extends Object implements org.apache.hadoop.hdfs.server.namenode.JournalManager
JournalManager.CorruptionException| Modifier and Type | Field and Description |
|---|---|
static Comparator<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> |
EDIT_LOG_INPUT_STREAM_COMPARATOR |
| Modifier and Type | Method and Description |
|---|---|
static void |
chainAndMakeRedundantStreams(Collection<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> outStreams,
PriorityQueue<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> allStreams,
long fromTxId) |
void |
close()
Close the journal manager, freeing any resources it may hold.
|
void |
finalizeLogSegment(long firstTxId,
long lastTxId)
Mark the log segment that spans from firstTxId to lastTxId
as finalized and complete.
|
void |
format(org.apache.hadoop.hdfs.server.protocol.NamespaceInfo nsInfo)
Format the underlying storage, removing any previously
stored data.
|
RemoteEditLogManifest |
getEditLogManifest(long fromTxId)
Return a manifest of what finalized edit logs are available.
|
boolean |
hasSomeData() |
boolean |
isEmpty()
Returns true if there are no journals, all redundant journals are disabled,
or any required journals are disabled.
|
void |
purgeLogsOlderThan(long minTxIdToKeep)
Remove all edit logs with transaction IDs lower than the given transaction
ID.
|
void |
recoverUnfinalizedSegments()
Recover segments which have not been finalized.
|
void |
selectInputStreams(Collection<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> streams,
long fromTxId,
boolean inProgressOk)
In this function, we get a bunch of streams from all of our JournalManager
objects.
|
void |
setOutputBufferCapacity(int size)
Set the amount of memory that this stream should use to buffer edits
|
org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream |
startLogSegment(long txId)
Begin writing to a new segment of the log stream, which starts at
the given transaction ID.
|
public static final Comparator<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> EDIT_LOG_INPUT_STREAM_COMPARATOR
public void format(org.apache.hadoop.hdfs.server.protocol.NamespaceInfo nsInfo) throws IOException
org.apache.hadoop.hdfs.server.namenode.JournalManagerformat in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerIOExceptionpublic boolean hasSomeData() throws IOException
hasSomeData in interface org.apache.hadoop.hdfs.server.common.Storage.FormatConfirmableIOException - if the storage cannot be accessed at all.public org.apache.hadoop.hdfs.server.namenode.EditLogOutputStream startLogSegment(long txId) throws IOException
org.apache.hadoop.hdfs.server.namenode.JournalManagerstartLogSegment in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerIOExceptionpublic void finalizeLogSegment(long firstTxId, long lastTxId) throws IOException
org.apache.hadoop.hdfs.server.namenode.JournalManagerfinalizeLogSegment in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerIOExceptionpublic void close() throws IOException
org.apache.hadoop.hdfs.server.namenode.JournalManagerclose in interface Closeableclose in interface AutoCloseableclose in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerIOExceptionpublic void selectInputStreams(Collection<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> streams, long fromTxId, boolean inProgressOk) throws IOException
streams - The collection to add the streams to. It may or
may not be sorted-- this is up to the caller.fromTxId - The transaction ID to start looking for streams atinProgressOk - Should we consider unfinalized streams?IOException - if the underlying storage has an error or is otherwise
inaccessiblepublic static void chainAndMakeRedundantStreams(Collection<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> outStreams, PriorityQueue<org.apache.hadoop.hdfs.server.namenode.EditLogInputStream> allStreams, long fromTxId)
public boolean isEmpty()
public void setOutputBufferCapacity(int size)
org.apache.hadoop.hdfs.server.namenode.JournalManagersetOutputBufferCapacity in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerpublic void purgeLogsOlderThan(long minTxIdToKeep) throws IOException
minTxIdToKeep - the lowest transaction ID that should be retainedIOException - in the event of errorpublic void recoverUnfinalizedSegments() throws IOException
org.apache.hadoop.hdfs.server.namenode.JournalManagerrecoverUnfinalizedSegments in interface org.apache.hadoop.hdfs.server.namenode.JournalManagerIOExceptionpublic RemoteEditLogManifest getEditLogManifest(long fromTxId)
fromTxId - Starting transaction id to read the logs.Copyright © 2014 Apache Software Foundation. All Rights Reserved.