Package org.apache.hadoop.hbase.wal
Class EntryBuffers
java.lang.Object
org.apache.hadoop.hbase.wal.EntryBuffers
- Direct Known Subclasses:
BoundedEntryBuffers
Class which accumulates edits and separates them into a buffer per region while simultaneously
accounting RAM usage. Blocks if the RAM usage crosses a predefined threshold. Writer threads then
pull region-specific buffers from this class.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA buffer of some number of edits for a given region. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Map<byte[],EntryBuffers.RegionEntryBuffer> private final WALSplitter.PipelineControllerprivate final Set<byte[]>private static final org.slf4j.Loggerprotected final longprotected long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidappendEntry(WAL.Entry entry) Append a log entry into the corresponding region buffer.(package private) void(package private) EntryBuffers.RegionEntryBufferReturns RegionEntryBuffer a buffer of edits to be written.(package private) booleanisRegionCurrentlyWriting(byte[] region) void
-
Field Details
-
LOG
-
controller
-
buffers
-
currentlyWriting
-
totalBuffered
-
maxHeapUsage
-
-
Constructor Details
-
EntryBuffers
-
-
Method Details
-
appendEntry
Append a log entry into the corresponding region buffer. Blocks if the total heap usage has crossed the specified threshold.- Throws:
InterruptedExceptionIOException
-
getChunkToWrite
Returns RegionEntryBuffer a buffer of edits to be written. -
doneWriting
-
isRegionCurrentlyWriting
-
waitUntilDrained
-