@@ -72,11 +72,20 @@ public class RocksDbOptionsHelper {
72
72
private static final String ROCKSDB_MAX_OPEN_FILES = "rocksdb.max.open.files" ;
73
73
private static final String ROCKSDB_MAX_FILE_OPENING_THREADS = "rocksdb.max.file.opening.threads" ;
74
74
75
+ private static final String ROCKSDB_MAX_BACKGROUND_JOBS = "rocksdb.max.background.jobs" ;
76
+
75
77
/**
76
78
* RocksDB default for {@link RocksDbOptionsHelper#ROCKSDB_COMPACTION_MAX_BACKGROUND_COMPACTIONS} is 1.
77
79
*/
78
80
private static final int DEFAULT_ROCKSDB_COMPACTION_MAX_BACKGROUND_COMPACTIONS = 4 ;
79
81
82
+ /**
83
+ * RocksDB default for {@link RocksDbOptionsHelper#ROCKSDB_MAX_BACKGROUND_JOBS} is 2
84
+ * Note: {@link RocksDbOptionsHelper#ROCKSDB_COMPACTION_MAX_BACKGROUND_COMPACTIONS} is deprecated and is decided by
85
+ * ROCKSDB_MAX_BACKGROUND_JOBS now.
86
+ */
87
+ private static final int DEFAULT_ROCKSDB_MAX_BACKGROUND_JOBS = 4 ;
88
+
80
89
81
90
public static Options options (Config storeConfig , int numTasksForContainer , File storeDir , StorageEngineFactory .StoreMode storeMode ) {
82
91
Options options = new Options ();
@@ -174,6 +183,10 @@ private static void setCompactionOptions(Config storeConfig, Options options) {
174
183
options .setTargetFileSizeBase (storeConfig .getLong (ROCKSDB_COMPACTION_TARGET_FILE_SIZE_MULTIPLIER ));
175
184
}
176
185
186
+ if (storeConfig .containsKey (ROCKSDB_MAX_BACKGROUND_JOBS )) {
187
+ options .setMaxBackgroundJobs (storeConfig .getInt (ROCKSDB_MAX_BACKGROUND_JOBS , DEFAULT_ROCKSDB_MAX_BACKGROUND_JOBS ));
188
+ }
189
+
177
190
CompactionStyle compactionStyle = CompactionStyle .UNIVERSAL ;
178
191
String compactionStyleInConfig = storeConfig .get (ROCKSDB_COMPACTION_STYLE , "universal" );
179
192
switch (compactionStyleInConfig ) {
0 commit comments