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
Modifier and TypeClassDescriptionstatic class
A buffer of some number of edits for a given region. -
Field Summary
Modifier and TypeFieldDescription(package private) final Map<byte[],
EntryBuffers.RegionEntryBuffer> private final WALSplitter.PipelineController
private final Set<byte[]>
private static final org.slf4j.Logger
protected final long
protected long
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendEntry
(WAL.Entry entry) Append a log entry into the corresponding region buffer.(package private) void
(package private) EntryBuffers.RegionEntryBuffer
Returns RegionEntryBuffer a buffer of edits to be written.(package private) boolean
isRegionCurrentlyWriting
(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:
InterruptedException
IOException
-
getChunkToWrite
Returns RegionEntryBuffer a buffer of edits to be written. -
doneWriting
-
isRegionCurrentlyWriting
-
waitUntilDrained
-