@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 sequenceid (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 boolean |
closeRegion
Set if this is a meta edit and it is of close region type.
|
private Set<byte[]> |
familyNames |
private boolean |
inMemstore
If false, means this is a meta edit written by the hbase system itself.
|
private RegionInfo |
regionInfo |
private 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()
Returns the family names which are effected by this edit.
|
(package private) RegionInfo |
getRegionInfo() |
(package private) long |
getTxid()
Returns The transaction id of this edit.
|
(package private) boolean |
isCloseRegion() |
(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 boolean closeRegion
private final transient RegionInfo regionInfo
private final transient Set<byte[]> familyNames
private final transient ServerCall<?> rpcCall
FSWALEntry(long txid, WALKeyImpl key, WALEdit edit, RegionInfo regionInfo, boolean inMemstore, ServerCall<?> rpcCall)
inMemstore
- If true, then this is a data edit, one that came from client. If false, it is
a meta edit made by the hbase system itself and is for the WAL only.static Set<byte[]> collectFamilies(List<Cell> cells)
boolean isInMemStore()
boolean isCloseRegion()
RegionInfo getRegionInfo()
long getTxid()
long stampRegionSequenceId(MultiVersionConcurrencyControl.WriteEntry we) throws IOException
IOException
Set<byte[]> getFamilyNames()
void release()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.