Merge pull request #374 from fyrz/RocksJava-DBOptions-Extension-3.6
[RocksJava] DBOptions extension 3.6main
commit
614bbcbe2c
@ -0,0 +1,569 @@ |
|||||||
|
// 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; |
||||||
|
|
||||||
|
/** |
||||||
|
* DBOptions to control the behavior of a database. It will be used |
||||||
|
* during the creation of a {@link org.rocksdb.RocksDB} (i.e., RocksDB.open()). |
||||||
|
* |
||||||
|
* If {@link #dispose()} function is not called, then it will be GC'd automatically |
||||||
|
* and native resources will be released as part of the process. |
||||||
|
*/ |
||||||
|
public class DBOptions extends RocksObject implements DBOptionsInterface { |
||||||
|
static { |
||||||
|
RocksDB.loadLibrary(); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Construct DBOptions. |
||||||
|
* |
||||||
|
* This constructor will create (by allocating a block of memory) |
||||||
|
* an {@code rocksdb::DBOptions} in the c++ side. |
||||||
|
*/ |
||||||
|
public DBOptions() { |
||||||
|
super(); |
||||||
|
numShardBits_ = DEFAULT_NUM_SHARD_BITS; |
||||||
|
newDBOptions(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setCreateIfMissing(boolean flag) { |
||||||
|
assert(isInitialized()); |
||||||
|
setCreateIfMissing(nativeHandle_, flag); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean createIfMissing() { |
||||||
|
assert(isInitialized()); |
||||||
|
return createIfMissing(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setCreateMissingColumnFamilies(boolean flag) { |
||||||
|
assert(isInitialized()); |
||||||
|
setCreateMissingColumnFamilies(nativeHandle_, flag); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean createMissingColumnFamilies() { |
||||||
|
assert(isInitialized()); |
||||||
|
return createMissingColumnFamilies(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setErrorIfExists(boolean errorIfExists) { |
||||||
|
assert(isInitialized()); |
||||||
|
setErrorIfExists(nativeHandle_, errorIfExists); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean errorIfExists() { |
||||||
|
assert(isInitialized()); |
||||||
|
return errorIfExists(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setParanoidChecks(boolean paranoidChecks) { |
||||||
|
assert(isInitialized()); |
||||||
|
setParanoidChecks(nativeHandle_, paranoidChecks); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean paranoidChecks() { |
||||||
|
assert(isInitialized()); |
||||||
|
return paranoidChecks(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setRateLimiterConfig(RateLimiterConfig config) { |
||||||
|
rateLimiterConfig_ = config; |
||||||
|
setRateLimiter(nativeHandle_, config.newRateLimiterHandle()); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxOpenFiles(int maxOpenFiles) { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxOpenFiles(nativeHandle_, maxOpenFiles); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int maxOpenFiles() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxOpenFiles(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxTotalWalSize(long maxTotalWalSize) { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxTotalWalSize(nativeHandle_, maxTotalWalSize); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long maxTotalWalSize() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxTotalWalSize(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions createStatistics() { |
||||||
|
assert(isInitialized()); |
||||||
|
createStatistics(nativeHandle_); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public Statistics statisticsPtr() { |
||||||
|
assert(isInitialized()); |
||||||
|
|
||||||
|
long statsPtr = statisticsPtr(nativeHandle_); |
||||||
|
if(statsPtr == 0) { |
||||||
|
createStatistics(); |
||||||
|
statsPtr = statisticsPtr(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
return new Statistics(statsPtr); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setDisableDataSync(boolean disableDataSync) { |
||||||
|
assert(isInitialized()); |
||||||
|
setDisableDataSync(nativeHandle_, disableDataSync); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean disableDataSync() { |
||||||
|
assert(isInitialized()); |
||||||
|
return disableDataSync(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setUseFsync(boolean useFsync) { |
||||||
|
assert(isInitialized()); |
||||||
|
setUseFsync(nativeHandle_, useFsync); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean useFsync() { |
||||||
|
assert(isInitialized()); |
||||||
|
return useFsync(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setDbLogDir(String dbLogDir) { |
||||||
|
assert(isInitialized()); |
||||||
|
setDbLogDir(nativeHandle_, dbLogDir); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String dbLogDir() { |
||||||
|
assert(isInitialized()); |
||||||
|
return dbLogDir(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setWalDir(String walDir) { |
||||||
|
assert(isInitialized()); |
||||||
|
setWalDir(nativeHandle_, walDir); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String walDir() { |
||||||
|
assert(isInitialized()); |
||||||
|
return walDir(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setDeleteObsoleteFilesPeriodMicros(long micros) { |
||||||
|
assert(isInitialized()); |
||||||
|
setDeleteObsoleteFilesPeriodMicros(nativeHandle_, micros); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long deleteObsoleteFilesPeriodMicros() { |
||||||
|
assert(isInitialized()); |
||||||
|
return deleteObsoleteFilesPeriodMicros(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxBackgroundCompactions(int maxBackgroundCompactions) { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxBackgroundCompactions(nativeHandle_, maxBackgroundCompactions); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int maxBackgroundCompactions() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxBackgroundCompactions(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxBackgroundFlushes(int maxBackgroundFlushes) { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxBackgroundFlushes(nativeHandle_, maxBackgroundFlushes); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int maxBackgroundFlushes() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxBackgroundFlushes(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxLogFileSize(long maxLogFileSize) |
||||||
|
throws RocksDBException { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxLogFileSize(nativeHandle_, maxLogFileSize); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long maxLogFileSize() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxLogFileSize(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setLogFileTimeToRoll(long logFileTimeToRoll) |
||||||
|
throws RocksDBException{ |
||||||
|
assert(isInitialized()); |
||||||
|
setLogFileTimeToRoll(nativeHandle_, logFileTimeToRoll); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long logFileTimeToRoll() { |
||||||
|
assert(isInitialized()); |
||||||
|
return logFileTimeToRoll(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setKeepLogFileNum(long keepLogFileNum) |
||||||
|
throws RocksDBException{ |
||||||
|
assert(isInitialized()); |
||||||
|
setKeepLogFileNum(nativeHandle_, keepLogFileNum); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long keepLogFileNum() { |
||||||
|
assert(isInitialized()); |
||||||
|
return keepLogFileNum(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setMaxManifestFileSize(long maxManifestFileSize) { |
||||||
|
assert(isInitialized()); |
||||||
|
setMaxManifestFileSize(nativeHandle_, maxManifestFileSize); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long maxManifestFileSize() { |
||||||
|
assert(isInitialized()); |
||||||
|
return maxManifestFileSize(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setTableCacheNumshardbits(int tableCacheNumshardbits) { |
||||||
|
assert(isInitialized()); |
||||||
|
setTableCacheNumshardbits(nativeHandle_, tableCacheNumshardbits); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int tableCacheNumshardbits() { |
||||||
|
assert(isInitialized()); |
||||||
|
return tableCacheNumshardbits(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setTableCacheRemoveScanCountLimit(int limit) { |
||||||
|
assert(isInitialized()); |
||||||
|
setTableCacheRemoveScanCountLimit(nativeHandle_, limit); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int tableCacheRemoveScanCountLimit() { |
||||||
|
assert(isInitialized()); |
||||||
|
return tableCacheRemoveScanCountLimit(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setWalTtlSeconds(long walTtlSeconds) { |
||||||
|
assert(isInitialized()); |
||||||
|
setWalTtlSeconds(nativeHandle_, walTtlSeconds); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long walTtlSeconds() { |
||||||
|
assert(isInitialized()); |
||||||
|
return walTtlSeconds(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setWalSizeLimitMB(long sizeLimitMB) { |
||||||
|
assert(isInitialized()); |
||||||
|
setWalSizeLimitMB(nativeHandle_, sizeLimitMB); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long walSizeLimitMB() { |
||||||
|
assert(isInitialized()); |
||||||
|
return walSizeLimitMB(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setManifestPreallocationSize(long size) |
||||||
|
throws RocksDBException { |
||||||
|
assert(isInitialized()); |
||||||
|
setManifestPreallocationSize(nativeHandle_, size); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long manifestPreallocationSize() { |
||||||
|
assert(isInitialized()); |
||||||
|
return manifestPreallocationSize(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setAllowOsBuffer(boolean allowOsBuffer) { |
||||||
|
assert(isInitialized()); |
||||||
|
setAllowOsBuffer(nativeHandle_, allowOsBuffer); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean allowOsBuffer() { |
||||||
|
assert(isInitialized()); |
||||||
|
return allowOsBuffer(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setAllowMmapReads(boolean allowMmapReads) { |
||||||
|
assert(isInitialized()); |
||||||
|
setAllowMmapReads(nativeHandle_, allowMmapReads); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean allowMmapReads() { |
||||||
|
assert(isInitialized()); |
||||||
|
return allowMmapReads(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setAllowMmapWrites(boolean allowMmapWrites) { |
||||||
|
assert(isInitialized()); |
||||||
|
setAllowMmapWrites(nativeHandle_, allowMmapWrites); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean allowMmapWrites() { |
||||||
|
assert(isInitialized()); |
||||||
|
return allowMmapWrites(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setIsFdCloseOnExec(boolean isFdCloseOnExec) { |
||||||
|
assert(isInitialized()); |
||||||
|
setIsFdCloseOnExec(nativeHandle_, isFdCloseOnExec); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean isFdCloseOnExec() { |
||||||
|
assert(isInitialized()); |
||||||
|
return isFdCloseOnExec(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setSkipLogErrorOnRecovery(boolean skip) { |
||||||
|
assert(isInitialized()); |
||||||
|
setSkipLogErrorOnRecovery(nativeHandle_, skip); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean skipLogErrorOnRecovery() { |
||||||
|
assert(isInitialized()); |
||||||
|
return skipLogErrorOnRecovery(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setStatsDumpPeriodSec(int statsDumpPeriodSec) { |
||||||
|
assert(isInitialized()); |
||||||
|
setStatsDumpPeriodSec(nativeHandle_, statsDumpPeriodSec); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int statsDumpPeriodSec() { |
||||||
|
assert(isInitialized()); |
||||||
|
return statsDumpPeriodSec(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setAdviseRandomOnOpen(boolean adviseRandomOnOpen) { |
||||||
|
assert(isInitialized()); |
||||||
|
setAdviseRandomOnOpen(nativeHandle_, adviseRandomOnOpen); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean adviseRandomOnOpen() { |
||||||
|
return adviseRandomOnOpen(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setUseAdaptiveMutex(boolean useAdaptiveMutex) { |
||||||
|
assert(isInitialized()); |
||||||
|
setUseAdaptiveMutex(nativeHandle_, useAdaptiveMutex); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean useAdaptiveMutex() { |
||||||
|
assert(isInitialized()); |
||||||
|
return useAdaptiveMutex(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public DBOptions setBytesPerSync(long bytesPerSync) { |
||||||
|
assert(isInitialized()); |
||||||
|
setBytesPerSync(nativeHandle_, bytesPerSync); |
||||||
|
return this; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public long bytesPerSync() { |
||||||
|
return bytesPerSync(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Release the memory allocated for the current instance |
||||||
|
* in the c++ side. |
||||||
|
*/ |
||||||
|
@Override protected void disposeInternal() { |
||||||
|
assert(isInitialized()); |
||||||
|
disposeInternal(nativeHandle_); |
||||||
|
} |
||||||
|
|
||||||
|
static final int DEFAULT_NUM_SHARD_BITS = -1; |
||||||
|
|
||||||
|
private native void newDBOptions(); |
||||||
|
private native void disposeInternal(long handle); |
||||||
|
|
||||||
|
private native void setCreateIfMissing(long handle, boolean flag); |
||||||
|
private native boolean createIfMissing(long handle); |
||||||
|
private native void setCreateMissingColumnFamilies( |
||||||
|
long handle, boolean flag); |
||||||
|
private native boolean createMissingColumnFamilies(long handle); |
||||||
|
private native void setErrorIfExists(long handle, boolean errorIfExists); |
||||||
|
private native boolean errorIfExists(long handle); |
||||||
|
private native void setParanoidChecks( |
||||||
|
long handle, boolean paranoidChecks); |
||||||
|
private native boolean paranoidChecks(long handle); |
||||||
|
private native void setRateLimiter(long handle, |
||||||
|
long rateLimiterHandle); |
||||||
|
private native void setMaxOpenFiles(long handle, int maxOpenFiles); |
||||||
|
private native int maxOpenFiles(long handle); |
||||||
|
private native void setMaxTotalWalSize(long handle, |
||||||
|
long maxTotalWalSize); |
||||||
|
private native long maxTotalWalSize(long handle); |
||||||
|
private native void createStatistics(long optHandle); |
||||||
|
private native long statisticsPtr(long optHandle); |
||||||
|
private native void setDisableDataSync(long handle, boolean disableDataSync); |
||||||
|
private native boolean disableDataSync(long handle); |
||||||
|
private native boolean useFsync(long handle); |
||||||
|
private native void setUseFsync(long handle, boolean useFsync); |
||||||
|
private native void setDbLogDir(long handle, String dbLogDir); |
||||||
|
private native String dbLogDir(long handle); |
||||||
|
private native void setWalDir(long handle, String walDir); |
||||||
|
private native String walDir(long handle); |
||||||
|
private native void setDeleteObsoleteFilesPeriodMicros( |
||||||
|
long handle, long micros); |
||||||
|
private native long deleteObsoleteFilesPeriodMicros(long handle); |
||||||
|
private native void setMaxBackgroundCompactions( |
||||||
|
long handle, int maxBackgroundCompactions); |
||||||
|
private native int maxBackgroundCompactions(long handle); |
||||||
|
private native void setMaxBackgroundFlushes( |
||||||
|
long handle, int maxBackgroundFlushes); |
||||||
|
private native int maxBackgroundFlushes(long handle); |
||||||
|
private native void setMaxLogFileSize(long handle, long maxLogFileSize) |
||||||
|
throws RocksDBException; |
||||||
|
private native long maxLogFileSize(long handle); |
||||||
|
private native void setLogFileTimeToRoll( |
||||||
|
long handle, long logFileTimeToRoll) throws RocksDBException; |
||||||
|
private native long logFileTimeToRoll(long handle); |
||||||
|
private native void setKeepLogFileNum(long handle, long keepLogFileNum) |
||||||
|
throws RocksDBException; |
||||||
|
private native long keepLogFileNum(long handle); |
||||||
|
private native void setMaxManifestFileSize( |
||||||
|
long handle, long maxManifestFileSize); |
||||||
|
private native long maxManifestFileSize(long handle); |
||||||
|
private native void setTableCacheNumshardbits( |
||||||
|
long handle, int tableCacheNumshardbits); |
||||||
|
private native int tableCacheNumshardbits(long handle); |
||||||
|
private native void setTableCacheRemoveScanCountLimit( |
||||||
|
long handle, int limit); |
||||||
|
private native int tableCacheRemoveScanCountLimit(long handle); |
||||||
|
private native void setWalTtlSeconds(long handle, long walTtlSeconds); |
||||||
|
private native long walTtlSeconds(long handle); |
||||||
|
private native void setWalSizeLimitMB(long handle, long sizeLimitMB); |
||||||
|
private native long walSizeLimitMB(long handle); |
||||||
|
private native void setManifestPreallocationSize( |
||||||
|
long handle, long size) throws RocksDBException; |
||||||
|
private native long manifestPreallocationSize(long handle); |
||||||
|
private native void setAllowOsBuffer( |
||||||
|
long handle, boolean allowOsBuffer); |
||||||
|
private native boolean allowOsBuffer(long handle); |
||||||
|
private native void setAllowMmapReads( |
||||||
|
long handle, boolean allowMmapReads); |
||||||
|
private native boolean allowMmapReads(long handle); |
||||||
|
private native void setAllowMmapWrites( |
||||||
|
long handle, boolean allowMmapWrites); |
||||||
|
private native boolean allowMmapWrites(long handle); |
||||||
|
private native void setIsFdCloseOnExec( |
||||||
|
long handle, boolean isFdCloseOnExec); |
||||||
|
private native boolean isFdCloseOnExec(long handle); |
||||||
|
private native void setSkipLogErrorOnRecovery( |
||||||
|
long handle, boolean skip); |
||||||
|
private native boolean skipLogErrorOnRecovery(long handle); |
||||||
|
private native void setStatsDumpPeriodSec( |
||||||
|
long handle, int statsDumpPeriodSec); |
||||||
|
private native int statsDumpPeriodSec(long handle); |
||||||
|
private native void setAdviseRandomOnOpen( |
||||||
|
long handle, boolean adviseRandomOnOpen); |
||||||
|
private native boolean adviseRandomOnOpen(long handle); |
||||||
|
private native void setUseAdaptiveMutex( |
||||||
|
long handle, boolean useAdaptiveMutex); |
||||||
|
private native boolean useAdaptiveMutex(long handle); |
||||||
|
private native void setBytesPerSync( |
||||||
|
long handle, long bytesPerSync); |
||||||
|
private native long bytesPerSync(long handle); |
||||||
|
|
||||||
|
int numShardBits_; |
||||||
|
RateLimiterConfig rateLimiterConfig_; |
||||||
|
} |
@ -0,0 +1,228 @@ |
|||||||
|
// 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.DBOptions; |
||||||
|
import org.rocksdb.DBOptionsInterface; |
||||||
|
import org.rocksdb.RocksDB; |
||||||
|
import org.rocksdb.RocksDBException; |
||||||
|
|
||||||
|
import java.util.Random; |
||||||
|
|
||||||
|
public class DBOptionsTest { |
||||||
|
static { |
||||||
|
RocksDB.loadLibrary(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void testDBOptions(DBOptionsInterface opt) { |
||||||
|
Random rand = PlatformRandomHelper. |
||||||
|
getPlatformSpecificRandomFactory(); |
||||||
|
{ // CreateIfMissing test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setCreateIfMissing(boolValue); |
||||||
|
assert(opt.createIfMissing() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // CreateMissingColumnFamilies test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setCreateMissingColumnFamilies(boolValue); |
||||||
|
assert(opt.createMissingColumnFamilies() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // ErrorIfExists test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setErrorIfExists(boolValue); |
||||||
|
assert(opt.errorIfExists() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // ParanoidChecks test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setParanoidChecks(boolValue); |
||||||
|
assert(opt.paranoidChecks() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ |
||||||
|
// MaxTotalWalSize test
|
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setMaxTotalWalSize(longValue); |
||||||
|
assert(opt.maxTotalWalSize() == longValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // MaxOpenFiles test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setMaxOpenFiles(intValue); |
||||||
|
assert(opt.maxOpenFiles() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // DisableDataSync test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setDisableDataSync(boolValue); |
||||||
|
assert(opt.disableDataSync() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // UseFsync test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setUseFsync(boolValue); |
||||||
|
assert(opt.useFsync() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // DbLogDir test
|
||||||
|
String str = "path/to/DbLogDir"; |
||||||
|
opt.setDbLogDir(str); |
||||||
|
assert(opt.dbLogDir().equals(str)); |
||||||
|
} |
||||||
|
|
||||||
|
{ // WalDir test
|
||||||
|
String str = "path/to/WalDir"; |
||||||
|
opt.setWalDir(str); |
||||||
|
assert(opt.walDir().equals(str)); |
||||||
|
} |
||||||
|
|
||||||
|
{ // DeleteObsoleteFilesPeriodMicros test
|
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setDeleteObsoleteFilesPeriodMicros(longValue); |
||||||
|
assert(opt.deleteObsoleteFilesPeriodMicros() == longValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // MaxBackgroundCompactions test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setMaxBackgroundCompactions(intValue); |
||||||
|
assert(opt.maxBackgroundCompactions() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // MaxBackgroundFlushes test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setMaxBackgroundFlushes(intValue); |
||||||
|
assert(opt.maxBackgroundFlushes() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // MaxLogFileSize test
|
||||||
|
try { |
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setMaxLogFileSize(longValue); |
||||||
|
assert(opt.maxLogFileSize() == longValue); |
||||||
|
} catch (RocksDBException e) { |
||||||
|
System.out.println(e.getMessage()); |
||||||
|
assert(false); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
{ // LogFileTimeToRoll test
|
||||||
|
try { |
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setLogFileTimeToRoll(longValue); |
||||||
|
assert(opt.logFileTimeToRoll() == longValue); |
||||||
|
} catch (RocksDBException e) { |
||||||
|
assert(false); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
{ // KeepLogFileNum test
|
||||||
|
try { |
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setKeepLogFileNum(longValue); |
||||||
|
assert(opt.keepLogFileNum() == longValue); |
||||||
|
} catch (RocksDBException e) { |
||||||
|
assert(false); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
{ // MaxManifestFileSize test
|
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setMaxManifestFileSize(longValue); |
||||||
|
assert(opt.maxManifestFileSize() == longValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // TableCacheNumshardbits test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setTableCacheNumshardbits(intValue); |
||||||
|
assert(opt.tableCacheNumshardbits() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // TableCacheRemoveScanCountLimit test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setTableCacheRemoveScanCountLimit(intValue); |
||||||
|
assert(opt.tableCacheRemoveScanCountLimit() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // WalTtlSeconds test
|
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setWalTtlSeconds(longValue); |
||||||
|
assert(opt.walTtlSeconds() == longValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // ManifestPreallocationSize test
|
||||||
|
try { |
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setManifestPreallocationSize(longValue); |
||||||
|
assert(opt.manifestPreallocationSize() == longValue); |
||||||
|
} catch (RocksDBException e) { |
||||||
|
assert(false); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
{ // AllowOsBuffer test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setAllowOsBuffer(boolValue); |
||||||
|
assert(opt.allowOsBuffer() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // AllowMmapReads test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setAllowMmapReads(boolValue); |
||||||
|
assert(opt.allowMmapReads() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // AllowMmapWrites test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setAllowMmapWrites(boolValue); |
||||||
|
assert(opt.allowMmapWrites() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // IsFdCloseOnExec test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setIsFdCloseOnExec(boolValue); |
||||||
|
assert(opt.isFdCloseOnExec() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // SkipLogErrorOnRecovery test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setSkipLogErrorOnRecovery(boolValue); |
||||||
|
assert(opt.skipLogErrorOnRecovery() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // StatsDumpPeriodSec test
|
||||||
|
int intValue = rand.nextInt(); |
||||||
|
opt.setStatsDumpPeriodSec(intValue); |
||||||
|
assert(opt.statsDumpPeriodSec() == intValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // AdviseRandomOnOpen test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setAdviseRandomOnOpen(boolValue); |
||||||
|
assert(opt.adviseRandomOnOpen() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // UseAdaptiveMutex test
|
||||||
|
boolean boolValue = rand.nextBoolean(); |
||||||
|
opt.setUseAdaptiveMutex(boolValue); |
||||||
|
assert(opt.useAdaptiveMutex() == boolValue); |
||||||
|
} |
||||||
|
|
||||||
|
{ // BytesPerSync test
|
||||||
|
long longValue = rand.nextLong(); |
||||||
|
opt.setBytesPerSync(longValue); |
||||||
|
assert(opt.bytesPerSync() == longValue); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static void main(String[] args) { |
||||||
|
DBOptions opt = new DBOptions(); |
||||||
|
testDBOptions(opt); |
||||||
|
opt.dispose(); |
||||||
|
System.out.println("Passed DBOptionsTest"); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue