]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/java/src/test/java/org/rocksdb/DefaultEnvTest.java
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / rocksdb / java / src / test / java / org / rocksdb / DefaultEnvTest.java
CommitLineData
494da23a
TL
1// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
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).
5
6package org.rocksdb;
7
8import org.junit.ClassRule;
9import org.junit.Rule;
10import org.junit.Test;
11import org.junit.rules.TemporaryFolder;
12
13import java.util.Collection;
14import java.util.List;
15
16import static org.assertj.core.api.Assertions.assertThat;
17
18public class DefaultEnvTest {
19
20 @ClassRule
f67539c2
TL
21 public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
22 new RocksNativeLibraryResource();
494da23a
TL
23
24 @Rule
25 public TemporaryFolder dbFolder = new TemporaryFolder();
26
27 @Test
28 public void backgroundThreads() {
29 try (final Env defaultEnv = RocksEnv.getDefault()) {
30 defaultEnv.setBackgroundThreads(5, Priority.BOTTOM);
31 assertThat(defaultEnv.getBackgroundThreads(Priority.BOTTOM)).isEqualTo(5);
32
33 defaultEnv.setBackgroundThreads(5);
34 assertThat(defaultEnv.getBackgroundThreads(Priority.LOW)).isEqualTo(5);
35
36 defaultEnv.setBackgroundThreads(5, Priority.LOW);
37 assertThat(defaultEnv.getBackgroundThreads(Priority.LOW)).isEqualTo(5);
38
39 defaultEnv.setBackgroundThreads(5, Priority.HIGH);
40 assertThat(defaultEnv.getBackgroundThreads(Priority.HIGH)).isEqualTo(5);
41 }
42 }
43
44 @Test
45 public void threadPoolQueueLen() {
46 try (final Env defaultEnv = RocksEnv.getDefault()) {
47 assertThat(defaultEnv.getThreadPoolQueueLen(Priority.BOTTOM)).isEqualTo(0);
48 assertThat(defaultEnv.getThreadPoolQueueLen(Priority.LOW)).isEqualTo(0);
49 assertThat(defaultEnv.getThreadPoolQueueLen(Priority.HIGH)).isEqualTo(0);
50 }
51 }
52
53 @Test
54 public void incBackgroundThreadsIfNeeded() {
55 try (final Env defaultEnv = RocksEnv.getDefault()) {
56 defaultEnv.incBackgroundThreadsIfNeeded(20, Priority.BOTTOM);
57 assertThat(defaultEnv.getBackgroundThreads(Priority.BOTTOM)).isGreaterThanOrEqualTo(20);
58
59 defaultEnv.incBackgroundThreadsIfNeeded(20, Priority.LOW);
60 assertThat(defaultEnv.getBackgroundThreads(Priority.LOW)).isGreaterThanOrEqualTo(20);
61
62 defaultEnv.incBackgroundThreadsIfNeeded(20, Priority.HIGH);
63 assertThat(defaultEnv.getBackgroundThreads(Priority.HIGH)).isGreaterThanOrEqualTo(20);
64 }
65 }
66
67 @Test
68 public void lowerThreadPoolIOPriority() {
69 try (final Env defaultEnv = RocksEnv.getDefault()) {
70 defaultEnv.lowerThreadPoolIOPriority(Priority.BOTTOM);
71
72 defaultEnv.lowerThreadPoolIOPriority(Priority.LOW);
73
74 defaultEnv.lowerThreadPoolIOPriority(Priority.HIGH);
75 }
76 }
77
78 @Test
79 public void lowerThreadPoolCPUPriority() {
80 try (final Env defaultEnv = RocksEnv.getDefault()) {
81 defaultEnv.lowerThreadPoolCPUPriority(Priority.BOTTOM);
82
83 defaultEnv.lowerThreadPoolCPUPriority(Priority.LOW);
84
85 defaultEnv.lowerThreadPoolCPUPriority(Priority.HIGH);
86 }
87 }
88
89 @Test
90 public void threadList() throws RocksDBException {
91 try (final Env defaultEnv = RocksEnv.getDefault()) {
92 final Collection<ThreadStatus> threadList = defaultEnv.getThreadList();
93 assertThat(threadList.size()).isGreaterThan(0);
94 }
95 }
96
97 @Test
98 public void threadList_integration() throws RocksDBException {
99 try (final Env env = RocksEnv.getDefault();
100 final Options opt = new Options()
101 .setCreateIfMissing(true)
102 .setCreateMissingColumnFamilies(true)
103 .setEnv(env)) {
104 // open database
105 try (final RocksDB db = RocksDB.open(opt,
106 dbFolder.getRoot().getAbsolutePath())) {
107
108 final List<ThreadStatus> threadList = env.getThreadList();
109 assertThat(threadList.size()).isGreaterThan(0);
110 }
111 }
112 }
113}