]> git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/java/src/test/java/org/rocksdb/MemTableTest.java
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / rocksdb / java / src / test / java / org / rocksdb / MemTableTest.java
1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under the BSD-style license found in the
3 // LICENSE file in the root directory of this source tree. An additional grant
4 // of patent rights can be found in the PATENTS file in the same directory.
5
6 package org.rocksdb;
7
8 import org.junit.ClassRule;
9 import org.junit.Test;
10
11 import static org.assertj.core.api.Assertions.assertThat;
12
13 public class MemTableTest {
14
15 @ClassRule
16 public static final RocksMemoryResource rocksMemoryResource =
17 new RocksMemoryResource();
18
19 @Test
20 public void hashSkipListMemTable() throws RocksDBException {
21 try(final Options options = new Options()) {
22 // Test HashSkipListMemTableConfig
23 HashSkipListMemTableConfig memTableConfig =
24 new HashSkipListMemTableConfig();
25 assertThat(memTableConfig.bucketCount()).
26 isEqualTo(1000000);
27 memTableConfig.setBucketCount(2000000);
28 assertThat(memTableConfig.bucketCount()).
29 isEqualTo(2000000);
30 assertThat(memTableConfig.height()).
31 isEqualTo(4);
32 memTableConfig.setHeight(5);
33 assertThat(memTableConfig.height()).
34 isEqualTo(5);
35 assertThat(memTableConfig.branchingFactor()).
36 isEqualTo(4);
37 memTableConfig.setBranchingFactor(6);
38 assertThat(memTableConfig.branchingFactor()).
39 isEqualTo(6);
40 options.setMemTableConfig(memTableConfig);
41 }
42 }
43
44 @Test
45 public void skipListMemTable() throws RocksDBException {
46 try(final Options options = new Options()) {
47 SkipListMemTableConfig skipMemTableConfig =
48 new SkipListMemTableConfig();
49 assertThat(skipMemTableConfig.lookahead()).
50 isEqualTo(0);
51 skipMemTableConfig.setLookahead(20);
52 assertThat(skipMemTableConfig.lookahead()).
53 isEqualTo(20);
54 options.setMemTableConfig(skipMemTableConfig);
55 }
56 }
57
58 @Test
59 public void hashLinkedListMemTable() throws RocksDBException {
60 try(final Options options = new Options()) {
61 HashLinkedListMemTableConfig hashLinkedListMemTableConfig =
62 new HashLinkedListMemTableConfig();
63 assertThat(hashLinkedListMemTableConfig.bucketCount()).
64 isEqualTo(50000);
65 hashLinkedListMemTableConfig.setBucketCount(100000);
66 assertThat(hashLinkedListMemTableConfig.bucketCount()).
67 isEqualTo(100000);
68 assertThat(hashLinkedListMemTableConfig.hugePageTlbSize()).
69 isEqualTo(0);
70 hashLinkedListMemTableConfig.setHugePageTlbSize(1);
71 assertThat(hashLinkedListMemTableConfig.hugePageTlbSize()).
72 isEqualTo(1);
73 assertThat(hashLinkedListMemTableConfig.
74 bucketEntriesLoggingThreshold()).
75 isEqualTo(4096);
76 hashLinkedListMemTableConfig.
77 setBucketEntriesLoggingThreshold(200);
78 assertThat(hashLinkedListMemTableConfig.
79 bucketEntriesLoggingThreshold()).
80 isEqualTo(200);
81 assertThat(hashLinkedListMemTableConfig.
82 ifLogBucketDistWhenFlush()).isTrue();
83 hashLinkedListMemTableConfig.
84 setIfLogBucketDistWhenFlush(false);
85 assertThat(hashLinkedListMemTableConfig.
86 ifLogBucketDistWhenFlush()).isFalse();
87 assertThat(hashLinkedListMemTableConfig.
88 thresholdUseSkiplist()).
89 isEqualTo(256);
90 hashLinkedListMemTableConfig.setThresholdUseSkiplist(29);
91 assertThat(hashLinkedListMemTableConfig.
92 thresholdUseSkiplist()).
93 isEqualTo(29);
94 options.setMemTableConfig(hashLinkedListMemTableConfig);
95 }
96 }
97
98 @Test
99 public void vectorMemTable() throws RocksDBException {
100 try(final Options options = new Options()) {
101 VectorMemTableConfig vectorMemTableConfig =
102 new VectorMemTableConfig();
103 assertThat(vectorMemTableConfig.reservedSize()).
104 isEqualTo(0);
105 vectorMemTableConfig.setReservedSize(123);
106 assertThat(vectorMemTableConfig.reservedSize()).
107 isEqualTo(123);
108 options.setMemTableConfig(vectorMemTableConfig);
109 }
110 }
111 }