Class RingBufferTruck
java.lang.Object
org.apache.hadoop.hbase.regionserver.wal.RingBufferTruck
A 'truck' to carry a payload across the ring buffer from Handler to WAL. Has EITHER a
FSWALEntry
for making an append OR it has a SyncFuture
to represent a 'sync'
invocation. Truck instances are reused by the disruptor when it gets around to it so their
payload references must be discarded on consumption to release them to GC.-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate FSWALEntry
private SyncFuture
Either this syncFuture is set or entry is set, but not both.private RingBufferTruck.Type
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription(package private) void
load
(FSWALEntry entry) Load the truck with aFSWALEntry
.(package private) void
load
(SyncFuture syncFuture) Load the truck with aSyncFuture
.(package private) RingBufferTruck.Type
type()
Returns the type of this truck's payload.(package private) FSWALEntry
Unload the truck of itsFSWALEntry
payload.(package private) SyncFuture
Unload the truck of itsSyncFuture
payload.
-
Field Details
-
type
-
sync
Either this syncFuture is set or entry is set, but not both. -
entry
-
-
Constructor Details
-
RingBufferTruck
-
-
Method Details
-
load
Load the truck with aFSWALEntry
. -
load
Load the truck with aSyncFuture
. -
type
Returns the type of this truck's payload. -
unloadAppend
Unload the truck of itsFSWALEntry
payload. The internal reference is released. -
unloadSync
Unload the truck of itsSyncFuture
payload. The internal reference is released.
-