Uses of Class
org.apache.hadoop.hbase.regionserver.MutableSegment
-
Uses of MutableSegment in org.apache.hadoop.hbase.regionserver
Modifier and TypeMethodDescriptionSegmentFactory.createMutableSegment
(org.apache.hadoop.conf.Configuration conf, CellComparator comparator, MemStoreSizing memstoreSizing) private MutableSegment
SegmentFactory.generateMutableSegment
(org.apache.hadoop.conf.Configuration conf, CellComparator comparator, MemStoreLAB memStoreLAB, MemStoreSizing memstoreSizing) (package private) MutableSegment
AbstractMemStore.getActive()
Modifier and TypeMethodDescriptionprotected boolean
CompactingMemStore.checkAndAddToActiveSize
(MutableSegment currActive, Cell cellToAdd, MemStoreSizing memstoreSizing) Check whether anything need to be done based on the current active set size.SegmentFactory.createImmutableSegment
(MutableSegment segment, MemStoreSizing memstoreSizing) protected void
AbstractMemStore.doAdd
(MutableSegment currentActive, ExtendedCell cell, MemStoreSizing memstoreSizing) private void
AbstractMemStore.doUpsert
(MutableSegment currentActive, ExtendedCell cell, long readpoint, MemStoreSizing memstoreSizing) protected void
CompactingMemStore.flushInMemory
(MutableSegment currActive) private void
AbstractMemStore.internalAdd
(MutableSegment currentActive, ExtendedCell toAdd, boolean mslabUsed, MemStoreSizing memstoreSizing) Internal version of add() that doesn't clone Cells with the allocator, and doesn't take the lock.private ExtendedCell
AbstractMemStore.maybeCloneWithAllocator
(MutableSegment currentActive, ExtendedCell cell, boolean forceCloneOfBigCell) If the segment has a memory allocator the cell is being cloned to this space, and returned; Otherwise the given cell is returned When a cell's size is too big (bigger than maxAlloc), it is not allocated on MSLAB.protected abstract void
AbstractMemStore.postUpdate
(MutableSegment currentActive) Issue any post update synchronization and testsprotected void
CompactingMemStore.postUpdate
(MutableSegment currentActive) protected void
DefaultMemStore.postUpdate
(MutableSegment currentActive) protected abstract boolean
AbstractMemStore.preUpdate
(MutableSegment currentActive, ExtendedCell cell, MemStoreSizing memstoreSizing) Issue any synchronization and test needed before applying the updateprotected boolean
CompactingMemStore.preUpdate
(MutableSegment currentActive, ExtendedCell cell, MemStoreSizing memstoreSizing) Issue any synchronization and test needed before applying the update For compacting memstore this means checking the update can increase the size without overflowprotected boolean
DefaultMemStore.preUpdate
(MutableSegment currentActive, ExtendedCell cell, MemStoreSizing memstoreSizing) protected void
CompactingMemStore.pushActiveToPipeline
(MutableSegment currActive, boolean checkEmpty) NOTE: WhenCompactingMemStore.flushInMemory(MutableSegment)
calls this method, due to concurrent writes and because we first add cell size to currActive.getDataSize and then actually add cell to currActive.cellSet, it is possible that currActive.getDataSize could not accommodate cellToAdd but currActive.cellSet is still empty if pending writes which not yet add cells to currActive.cellSet,so forCompactingMemStore.flushInMemory(MutableSegment)
,checkEmpty parameter is false.boolean
CompactionPipeline.pushHead
(MutableSegment segment) private void
CompactingMemStore.tryFlushInMemoryAndCompactingAsync
(MutableSegment currActive) Try to flush the currActive in memory and submit the backgroundCompactingMemStore.InMemoryCompactionRunnable
toRegionServicesForStores.getInMemoryCompactionPool()
.