public class ProtobufLogReader extends ReaderBase
<PB_WAL_MAGIC><WALHeader><WALEdits>...<WALEdits><Trailer> <TrailerSize> <PB_WAL_COMPLETE_MAGIC>
The Reader reads meta information (WAL Compression state, WALTrailer, etc) in ProtobufLogReader#initReader(FSDataInputStream). A WALTrailer is an extensible structure which is appended at the end of the WAL. This is empty for now; it can contain some meta information such as Region level stats, etc in future.Modifier and Type | Field and Description |
---|---|
protected WALCellCodec.ByteStringUncompressor |
byteStringUncompressor |
protected Codec.Decoder |
cellDecoder |
protected boolean |
hasCompression |
protected boolean |
hasTagCompression |
protected FSDataInputStream |
inputStream |
static byte[] |
PB_WAL_COMPLETE_MAGIC |
static byte[] |
PB_WAL_MAGIC |
protected WALTrailer |
trailer |
protected int |
trailerWarnSize |
compressionContext, conf, edit, emptyCompressionContext, fileLength, fs, path
Constructor and Description |
---|
ProtobufLogReader() |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected WALCellCodec |
getCodec(Configuration conf,
java.lang.String cellCodecClsName,
CompressionContext compressionContext) |
java.lang.String |
getCodecClsName() |
long |
getPosition() |
java.util.List<java.lang.String> |
getWriterClsNames() |
protected boolean |
hasCompression() |
protected boolean |
hasTagCompression() |
void |
init(FileSystem fs,
Path path,
Configuration conf,
FSDataInputStream stream) |
protected void |
initAfterCompression()
Initializes the compression after the shared stuff has been initialized.
|
protected void |
initAfterCompression(java.lang.String cellCodecClsName)
Initializes the compression after the shared stuff has been initialized.
|
protected java.lang.String |
initReader(FSDataInputStream stream)
Initializes the log reader with a particular stream (may be null).
|
protected org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.WALHdrContext |
readHeader(Builder builder,
FSDataInputStream stream) |
protected boolean |
readNext(Entry entry)
Read next entry.
|
void |
reset() |
protected void |
seekOnFs(long pos)
Performs a filesystem-level seek to a certain position in an underlying file.
|
long |
trailerSize() |
next, next, seek
public static final byte[] PB_WAL_MAGIC
public static final byte[] PB_WAL_COMPLETE_MAGIC
protected FSDataInputStream inputStream
protected Codec.Decoder cellDecoder
protected WALCellCodec.ByteStringUncompressor byteStringUncompressor
protected boolean hasCompression
protected boolean hasTagCompression
protected WALTrailer trailer
protected int trailerWarnSize
public long trailerSize()
public void close() throws java.io.IOException
java.io.IOException
public long getPosition() throws java.io.IOException
java.io.IOException
public void reset() throws java.io.IOException
java.io.IOException
public void init(FileSystem fs, Path path, Configuration conf, FSDataInputStream stream) throws java.io.IOException
init
in class ReaderBase
java.io.IOException
protected java.lang.String initReader(FSDataInputStream stream) throws java.io.IOException
ReaderBase
initReader
in class ReaderBase
java.io.IOException
public java.util.List<java.lang.String> getWriterClsNames()
public java.lang.String getCodecClsName()
protected org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.WALHdrContext readHeader(Builder builder, FSDataInputStream stream) throws java.io.IOException
java.io.IOException
protected WALCellCodec getCodec(Configuration conf, java.lang.String cellCodecClsName, CompressionContext compressionContext) throws java.io.IOException
java.io.IOException
protected void initAfterCompression() throws java.io.IOException
ReaderBase
initAfterCompression
in class ReaderBase
java.io.IOException
protected void initAfterCompression(java.lang.String cellCodecClsName) throws java.io.IOException
ReaderBase
initAfterCompression
in class ReaderBase
cellCodecClsName
- class name of cell Codecjava.io.IOException
protected boolean hasCompression()
hasCompression
in class ReaderBase
protected boolean hasTagCompression()
hasTagCompression
in class ReaderBase
protected boolean readNext(Entry entry) throws java.io.IOException
ReaderBase
readNext
in class ReaderBase
entry
- The entry to read into.java.io.IOException
protected void seekOnFs(long pos) throws java.io.IOException
ReaderBase
seekOnFs
in class ReaderBase
java.io.IOException