fork of https://github.com/oxigraph/rocksdb and https://github.com/facebook/rocksdb for nextgraph and oxigraph
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.8 KiB
107 lines
3.8 KiB
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
|
// This source code is licensed under the BSD-style license found in the
|
|
// LICENSE file in the root directory of this source tree. An additional grant
|
|
// of patent rights can be found in the PATENTS file in the same directory.
|
|
|
|
package org.rocksdb.test;
|
|
|
|
import org.rocksdb.*;
|
|
|
|
public class MemTableTest {
|
|
static {
|
|
RocksDB.loadLibrary();
|
|
}
|
|
public static void main(String[] args) {
|
|
Options options = new Options();
|
|
// Test HashSkipListMemTableConfig
|
|
HashSkipListMemTableConfig memTableConfig =
|
|
new HashSkipListMemTableConfig();
|
|
assert(memTableConfig.bucketCount() == 1000000);
|
|
memTableConfig.setBucketCount(2000000);
|
|
assert(memTableConfig.bucketCount() == 2000000);
|
|
assert(memTableConfig.height() == 4);
|
|
memTableConfig.setHeight(5);
|
|
assert(memTableConfig.height() == 5);
|
|
assert(memTableConfig.branchingFactor() == 4);
|
|
memTableConfig.setBranchingFactor(6);
|
|
assert(memTableConfig.branchingFactor() == 6);
|
|
try {
|
|
options.setMemTableConfig(memTableConfig);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
memTableConfig = null;
|
|
options.dispose();
|
|
System.gc();
|
|
System.runFinalization();
|
|
// Test SkipList
|
|
options = new Options();
|
|
SkipListMemTableConfig skipMemTableConfig =
|
|
new SkipListMemTableConfig();
|
|
assert(skipMemTableConfig.lookahead() == 0);
|
|
skipMemTableConfig.setLookahead(20);
|
|
assert(skipMemTableConfig.lookahead() == 20);
|
|
try {
|
|
options.setMemTableConfig(skipMemTableConfig);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
skipMemTableConfig = null;
|
|
options.dispose();
|
|
System.gc();
|
|
System.runFinalization();
|
|
// Test HashLinkedListMemTableConfig
|
|
options = new Options();
|
|
HashLinkedListMemTableConfig hashLinkedListMemTableConfig =
|
|
new HashLinkedListMemTableConfig();
|
|
assert(hashLinkedListMemTableConfig.bucketCount() == 50000);
|
|
hashLinkedListMemTableConfig.setBucketCount(100000);
|
|
assert(hashLinkedListMemTableConfig.bucketCount() == 100000);
|
|
assert(hashLinkedListMemTableConfig.hugePageTlbSize() == 0);
|
|
hashLinkedListMemTableConfig.setHugePageTlbSize(1);
|
|
assert(hashLinkedListMemTableConfig.hugePageTlbSize() == 1);
|
|
assert(hashLinkedListMemTableConfig.
|
|
bucketEntriesLoggingThreshold() == 4096);
|
|
hashLinkedListMemTableConfig.
|
|
setBucketEntriesLoggingThreshold(200);
|
|
assert(hashLinkedListMemTableConfig.
|
|
bucketEntriesLoggingThreshold() == 200);
|
|
assert(hashLinkedListMemTableConfig.
|
|
ifLogBucketDistWhenFlush() == true);
|
|
hashLinkedListMemTableConfig.
|
|
setIfLogBucketDistWhenFlush(false);
|
|
assert(hashLinkedListMemTableConfig.
|
|
ifLogBucketDistWhenFlush() == false);
|
|
assert(hashLinkedListMemTableConfig.
|
|
thresholdUseSkiplist() == 256);
|
|
hashLinkedListMemTableConfig.setThresholdUseSkiplist(29);
|
|
assert(hashLinkedListMemTableConfig.
|
|
thresholdUseSkiplist() == 29);
|
|
try {
|
|
options.setMemTableConfig(hashLinkedListMemTableConfig);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
hashLinkedListMemTableConfig = null;
|
|
options.dispose();
|
|
System.gc();
|
|
System.runFinalization();
|
|
// test VectorMemTableConfig
|
|
options = new Options();
|
|
VectorMemTableConfig vectorMemTableConfig =
|
|
new VectorMemTableConfig();
|
|
assert(vectorMemTableConfig.reservedSize() == 0);
|
|
vectorMemTableConfig.setReservedSize(123);
|
|
assert(vectorMemTableConfig.reservedSize() == 123);
|
|
try {
|
|
options.setMemTableConfig(vectorMemTableConfig);
|
|
} catch (RocksDBException e) {
|
|
assert(false);
|
|
}
|
|
vectorMemTableConfig = null;
|
|
options.dispose();
|
|
System.gc();
|
|
System.runFinalization();
|
|
System.out.println("Mem-table test passed");
|
|
}
|
|
}
|
|
|