Class FSWALEntry

java.lang.Object
org.apache.hadoop.hbase.wal.WAL.Entry
org.apache.hadoop.hbase.regionserver.wal.FSWALEntry

@Private class FSWALEntry extends WAL.Entry
A WAL Entry for 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().
  • Field Details

    • txid

      private final transient long txid
    • inMemstore

      private final transient boolean inMemstore
      If false, means this is a meta edit written by the hbase system itself. It was not in memstore. HBase uses these edit types to note in the log operational transitions such as compactions, flushes, or region open/closes.
    • closeRegion

      private final transient boolean closeRegion
      Set if this is a meta edit and it is of close region type.
    • regionInfo

      private final transient RegionInfo regionInfo
    • familyNames

      private final transient Set<byte[]> familyNames
    • rpcCall

      private final transient ServerCall<?> rpcCall
  • Constructor Details

    • FSWALEntry

      FSWALEntry(long txid, WALKeyImpl key, WALEdit edit, RegionInfo regionInfo, boolean inMemstore, ServerCall<?> rpcCall)
      Parameters:
      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.
  • Method Details