public class HashLinkedListMemTableConfig extends MemTableConfig
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAUL_THRESHOLD_USE_SKIPLIST |
static long |
DEFAULT_BUCKET_COUNT |
static int |
DEFAULT_BUCKET_ENTRIES_LOG_THRES |
static long |
DEFAULT_HUGE_PAGE_TLB_SIZE |
static boolean |
DEFAULT_IF_LOG_BUCKET_DIST_WHEN_FLUSH |
| Constructor and Description |
|---|
HashLinkedListMemTableConfig()
HashLinkedListMemTableConfig constructor
|
| Modifier and Type | Method and Description |
|---|---|
long |
bucketCount()
Returns the number of buckets that will be used in the memtable
created based on this config.
|
int |
bucketEntriesLoggingThreshold()
Returns the maximum number of entries in one bucket before
logging starts.
|
long |
hugePageTlbSize()
Returns the size value of hugePageTlbSize.
|
boolean |
ifLogBucketDistWhenFlush()
Returns information about logging the distribution of
number of entries on flush.
|
protected long |
newMemTableFactoryHandle()
This function should only be called by Options.setMemTableConfig(),
which will create a c++ shared-pointer to the c++ MemTableRepFactory
that associated with the Java MemTableConfig.
|
HashLinkedListMemTableConfig |
setBucketCount(long count)
Set the number of buckets in the fixed-size array used
in the hash linked-list mem-table.
|
HashLinkedListMemTableConfig |
setBucketEntriesLoggingThreshold(int threshold)
If number of entries in one bucket exceeds that setting, log
about it.
|
HashLinkedListMemTableConfig |
setHugePageTlbSize(long size)
Set the size of huge tlb or allocate the hashtable bytes from
malloc if
size <= 0. |
HashLinkedListMemTableConfig |
setIfLogBucketDistWhenFlush(boolean logDistribution)
If true the distrubition of number of entries will be logged.
|
HashLinkedListMemTableConfig |
setThresholdUseSkiplist(int threshold)
Set maximum number of entries in one bucket.
|
int |
thresholdUseSkiplist()
Returns entries per bucket threshold before LinkedList is
replaced by SkipList usage for that bucket.
|
public static final long DEFAULT_BUCKET_COUNT
public static final long DEFAULT_HUGE_PAGE_TLB_SIZE
public static final int DEFAULT_BUCKET_ENTRIES_LOG_THRES
public static final boolean DEFAULT_IF_LOG_BUCKET_DIST_WHEN_FLUSH
public static final int DEFAUL_THRESHOLD_USE_SKIPLIST
public HashLinkedListMemTableConfig()
public HashLinkedListMemTableConfig setBucketCount(long count)
count - the number of hash buckets.public long bucketCount()
public HashLinkedListMemTableConfig setHugePageTlbSize(long size)
Set the size of huge tlb or allocate the hashtable bytes from
malloc if size <= 0.
The user needs to reserve huge pages for it to be allocated,
like: sysctl -w vm.nr_hugepages=20
See linux documentation/vm/hugetlbpage.txt
size - if set to <= 0 hashtable bytes from mallocpublic long hugePageTlbSize()
public HashLinkedListMemTableConfig setBucketEntriesLoggingThreshold(int threshold)
threshold - - number of entries in a single bucket before
logging starts.public int bucketEntriesLoggingThreshold()
public HashLinkedListMemTableConfig setIfLogBucketDistWhenFlush(boolean logDistribution)
logDistribution - - boolean parameter indicating if number
of entry distribution shall be logged.public boolean ifLogBucketDistWhenFlush()
public HashLinkedListMemTableConfig setThresholdUseSkiplist(int threshold)
threshold - maximum number of entries before SkipList is
used.public int thresholdUseSkiplist()
protected long newMemTableFactoryHandle()
MemTableConfignewMemTableFactoryHandle in class MemTableConfigOptions.setMemTableConfig(MemTableConfig)Copyright © 2022. All rights reserved.