]>
Commit | Line | Data |
---|---|---|
7c673cae | 1 | // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. |
11fdf7f2 TL |
2 | // This source code is licensed under both the GPLv2 (found in the |
3 | // COPYING file in the root directory) and Apache 2.0 License | |
4 | // (found in the LICENSE.Apache file in the root directory). | |
7c673cae FG |
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 | } |