@InterfaceAudience.Private class FSWALEntry extends WAL.Entry
AbstractFSWAL
implementation. Immutable.
A subclass of WAL.Entry
that carries extra info across the ring buffer such as
region sequence id (we want to use this later, just before we write the WAL to ensure region
edits maintain order). The extra info added here is not 'serialized' as part of the WALEdit
hence marked 'transient' to underline this fact. It also adds mechanism so we can wait on
the assign of the region sequence id. See #stampRegionSequenceId().Modifier and Type | Field and Description |
---|---|
private Set<byte[]> |
familyNames |
private boolean |
inMemstore |
private RegionInfo |
regionInfo |
private Optional<ServerCall<?>> |
rpcCall |
private long |
txid |
Constructor and Description |
---|
FSWALEntry(long txid,
WALKeyImpl key,
WALEdit edit,
RegionInfo regionInfo,
boolean inMemstore,
ServerCall<?> rpcCall) |
Modifier and Type | Method and Description |
---|---|
(package private) static Set<byte[]> |
collectFamilies(List<Cell> cells) |
(package private) Set<byte[]> |
getFamilyNames() |
(package private) RegionInfo |
getRegionInfo() |
(package private) long |
getTxid() |
(package private) boolean |
isInMemStore() |
(package private) void |
release() |
(package private) long |
stampRegionSequenceId(MultiVersionConcurrencyControl.WriteEntry we)
Here is where a WAL edit gets its sequenceid.
|
String |
toString() |
getEdit, getKey, setCompressionContext
private final transient long txid
private final transient boolean inMemstore
private final transient RegionInfo regionInfo
private final transient Set<byte[]> familyNames
private final transient Optional<ServerCall<?>> rpcCall
FSWALEntry(long txid, WALKeyImpl key, WALEdit edit, RegionInfo regionInfo, boolean inMemstore, ServerCall<?> rpcCall)
static Set<byte[]> collectFamilies(List<Cell> cells)
boolean isInMemStore()
RegionInfo getRegionInfo()
long getTxid()
long stampRegionSequenceId(MultiVersionConcurrencyControl.WriteEntry we) throws IOException
IOException
Set<byte[]> getFamilyNames()
void release()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.