@InterfaceAudience.Private public class CellChunkImmutableSegment extends ImmutableSegment
Segment
,
and ImmutableSegment
. This immutable segment is working with CellSet with
CellChunkMap delegatee.Modifier and Type | Field and Description |
---|---|
static long |
DEEP_OVERHEAD_CCM |
static float |
INDEX_CHUNK_UNUSED_SPACE_PRECENTAGE |
DEEP_OVERHEAD
FIXED_OVERHEAD, memStoreSizing, minSequenceId, tagsPresent, timeRangeTracker
DUD
Modifier | Constructor and Description |
---|---|
protected |
CellChunkImmutableSegment(CellComparator comparator,
MemStoreSegmentsIterator iterator,
MemStoreLAB memStoreLAB,
int numOfCells,
MemStoreCompactionStrategy.Action action)
------------------------------------------------------------------------
C-tor to be used when new CellChunkImmutableSegment is built as a result of compaction/merge
of a list of older ImmutableSegments.
|
protected |
CellChunkImmutableSegment(CSLMImmutableSegment segment,
MemStoreSizing memstoreSizing,
MemStoreCompactionStrategy.Action action)
------------------------------------------------------------------------
C-tor to be used when new CellChunkImmutableSegment is built as a result of flattening
of CSLMImmutableSegment
The given iterator returns the Cells that "survived" the compaction.
|
Modifier and Type | Method and Description |
---|---|
private Chunk[] |
allocIndexChunks(int numOfCells) |
private int |
calcNumOfCellsInChunk(int chunkSize) |
private int |
calculateNumberOfChunks(int numOfCells,
int chunkSize) |
protected boolean |
canBeFlattened() |
private Cell |
copyCellIntoMSLAB(Cell cell,
MemStoreSizing memstoreSizing) |
private int |
createCellReference(ByteBufferKeyValue cell,
ByteBuffer idxBuffer,
int idxOffset) |
protected long |
indexEntryOffHeapSize(boolean offHeap) |
protected long |
indexEntryOnHeapSize(boolean onHeap) |
protected long |
indexEntrySize() |
private void |
initializeCellSet(int numOfCells,
MemStoreSegmentsIterator iterator,
MemStoreCompactionStrategy.Action action) |
private void |
reinitializeCellSet(int numOfCells,
KeyValueScanner segmentScanner,
CellSet oldCellSet,
MemStoreSizing memstoreSizing,
MemStoreCompactionStrategy.Action action) |
private ChunkCreator.ChunkType |
useIndexChunks(int numOfCells) |
getAllSegments, getNumOfSegments, getNumUniqueKeys, getSnapshotScanners, toString
close, compare, compareAndSetDataSize, compareRows, decScannerCount, dump, getCellLength, getCellsCount, getCellSet, getComparator, getDataSize, getHeapSize, getMemStoreLAB, getMemStoreSize, getMinSequenceId, getOffHeapSize, getScanner, getScanners, getTimeRangeTracker, headSet, heapSizeChange, incMemStoreSize, incScannerCount, internalAdd, isEmpty, isTagsPresent, iterator, last, maybeCloneWithAllocator, offHeapSizeChange, setCellSet, sharedLock, sharedUnlock, shouldSeek, tailSet, updateMetaInfo, updateMetaInfo, waitForUpdates
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
decMemStoreSize, decMemStoreSize, incMemStoreSize
public static final long DEEP_OVERHEAD_CCM
public static final float INDEX_CHUNK_UNUSED_SPACE_PRECENTAGE
protected CellChunkImmutableSegment(CellComparator comparator, MemStoreSegmentsIterator iterator, MemStoreLAB memStoreLAB, int numOfCells, MemStoreCompactionStrategy.Action action)
protected CellChunkImmutableSegment(CSLMImmutableSegment segment, MemStoreSizing memstoreSizing, MemStoreCompactionStrategy.Action action)
protected long indexEntryOnHeapSize(boolean onHeap)
indexEntryOnHeapSize
in class Segment
protected long indexEntryOffHeapSize(boolean offHeap)
indexEntryOffHeapSize
in class Segment
protected long indexEntrySize()
indexEntrySize
in class Segment
protected boolean canBeFlattened()
canBeFlattened
in class ImmutableSegment
private void initializeCellSet(int numOfCells, MemStoreSegmentsIterator iterator, MemStoreCompactionStrategy.Action action)
private void reinitializeCellSet(int numOfCells, KeyValueScanner segmentScanner, CellSet oldCellSet, MemStoreSizing memstoreSizing, MemStoreCompactionStrategy.Action action)
private int createCellReference(ByteBufferKeyValue cell, ByteBuffer idxBuffer, int idxOffset)
private int calculateNumberOfChunks(int numOfCells, int chunkSize)
private ChunkCreator.ChunkType useIndexChunks(int numOfCells)
private int calcNumOfCellsInChunk(int chunkSize)
private Chunk[] allocIndexChunks(int numOfCells)
private Cell copyCellIntoMSLAB(Cell cell, MemStoreSizing memstoreSizing)
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.