Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kvdb
rocksdb
提交
1033db29
R
rocksdb
项目概览
kvdb
/
rocksdb
11 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rocksdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1033db29
编写于
11月 12, 2014
作者:
Y
Yueh-Hsuan Chiang
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #390 from fyrz/RocksJava-Cleanup
[RocksJava] Cleanup
上级
9a03da77
d50c68e3
变更
26
展开全部
隐藏空白更改
内联
并排
Showing
26 changed file
with
305 addition
and
129 deletion
+305
-129
java/org/rocksdb/AbstractComparator.java
java/org/rocksdb/AbstractComparator.java
+17
-12
java/org/rocksdb/BackupableDB.java
java/org/rocksdb/BackupableDB.java
+13
-4
java/org/rocksdb/ColumnFamilyOptionsInterface.java
java/org/rocksdb/ColumnFamilyOptionsInterface.java
+13
-5
java/org/rocksdb/DBOptionsInterface.java
java/org/rocksdb/DBOptionsInterface.java
+13
-6
java/org/rocksdb/HashSkipListMemTableConfig.java
java/org/rocksdb/HashSkipListMemTableConfig.java
+2
-0
java/org/rocksdb/MemTableConfig.java
java/org/rocksdb/MemTableConfig.java
+5
-0
java/org/rocksdb/MergeOperator.java
java/org/rocksdb/MergeOperator.java
+0
-2
java/org/rocksdb/NativeLibraryLoader.java
java/org/rocksdb/NativeLibraryLoader.java
+2
-4
java/org/rocksdb/Options.java
java/org/rocksdb/Options.java
+8
-0
java/org/rocksdb/PlainTableConfig.java
java/org/rocksdb/PlainTableConfig.java
+1
-1
java/org/rocksdb/RateLimiterConfig.java
java/org/rocksdb/RateLimiterConfig.java
+2
-0
java/org/rocksdb/RestoreBackupableDB.java
java/org/rocksdb/RestoreBackupableDB.java
+13
-5
java/org/rocksdb/RocksDB.java
java/org/rocksdb/RocksDB.java
+106
-46
java/org/rocksdb/RocksDBException.java
java/org/rocksdb/RocksDBException.java
+0
-2
java/org/rocksdb/RocksEnv.java
java/org/rocksdb/RocksEnv.java
+9
-0
java/org/rocksdb/RocksIterator.java
java/org/rocksdb/RocksIterator.java
+5
-1
java/org/rocksdb/RocksObject.java
java/org/rocksdb/RocksObject.java
+3
-2
java/org/rocksdb/Slice.java
java/org/rocksdb/Slice.java
+23
-19
java/org/rocksdb/Statistics.java
java/org/rocksdb/Statistics.java
+1
-2
java/org/rocksdb/StatisticsCollector.java
java/org/rocksdb/StatisticsCollector.java
+1
-2
java/org/rocksdb/TableFormatConfig.java
java/org/rocksdb/TableFormatConfig.java
+4
-2
java/org/rocksdb/WriteBatch.java
java/org/rocksdb/WriteBatch.java
+46
-9
java/org/rocksdb/WriteOptions.java
java/org/rocksdb/WriteOptions.java
+7
-0
java/org/rocksdb/test/AbstractComparatorTest.java
java/org/rocksdb/test/AbstractComparatorTest.java
+2
-0
java/org/rocksdb/test/PlatformRandomHelper.java
java/org/rocksdb/test/PlatformRandomHelper.java
+4
-0
java/org/rocksdb/util/Environment.java
java/org/rocksdb/util/Environment.java
+5
-5
未找到文件。
java/org/rocksdb/AbstractComparator.java
浏览文件 @
1033db29
...
...
@@ -46,15 +46,18 @@ public abstract class AbstractComparator<T extends AbstractSlice>
public
abstract
int
compare
(
final
T
a
,
final
T
b
);
/**
* Used to reduce the space requirements
* for internal data structures like index blocks.
*
<p>
Used to reduce the space requirements
* for internal data structures like index blocks.
</p>
*
* If start < limit, you may return a new start which is a
* shorter string in [start, limit).
*
<p>
If start < limit, you may return a new start which is a
* shorter string in [start, limit).
</p>
*
* Simple comparator implementations may return null if they
*
<p>
Simple comparator implementations may return null if they
* wish to use start unchanged. i.e., an implementation of
* this method that does nothing is correct.
* this method that does nothing is correct.</p>
*
* @param start String
* @param limit of type T
*
* @return a shorter start, or null
*/
...
...
@@ -63,15 +66,17 @@ public abstract class AbstractComparator<T extends AbstractSlice>
}
/**
* Used to reduce the space requirements
* for internal data structures like index blocks.
*
<p>
Used to reduce the space requirements
* for internal data structures like index blocks.
</p>
*
* You may return a new short key (key1) where
* key1 ≥ key.
*
<p>
You may return a new short key (key1) where
* key1 ≥ key.
</p>
*
* Simple comparator implementations may return null if they
*
<p>
Simple comparator implementations may return null if they
* wish to leave the key unchanged. i.e., an implementation of
* this method that does nothing is correct.
* this method that does nothing is correct.</p>
*
* @param key String
*
* @return a shorter key, or null
*/
...
...
java/org/rocksdb/BackupableDB.java
浏览文件 @
1033db29
...
...
@@ -23,6 +23,9 @@ public class BackupableDB extends RocksDB {
* @param db_path Path to store data to. The path for storing the backup should be
* specified in the {@link org.rocksdb.BackupableDBOptions}.
* @return BackupableDB reference to the opened database.
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
static
BackupableDB
open
(
Options
opt
,
BackupableDBOptions
bopt
,
String
db_path
)
...
...
@@ -45,7 +48,9 @@ public class BackupableDB extends RocksDB {
*
* @param flushBeforeBackup if true, then all data will be flushed
* before creating backup.
* @throws org.rocksdb.RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
createNewBackup
(
boolean
flushBeforeBackup
)
throws
RocksDBException
{
...
...
@@ -56,7 +61,9 @@ public class BackupableDB extends RocksDB {
* Deletes old backups, keeping latest numBackupsToKeep alive.
*
* @param numBackupsToKeep Number of latest backups to keep.
* @throws org.rocksdb.RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
purgeOldBackups
(
int
numBackupsToKeep
)
throws
RocksDBException
{
...
...
@@ -67,7 +74,9 @@ public class BackupableDB extends RocksDB {
* Deletes a specific backup.
*
* @param backupId of backup to delete.
* @throws org.rocksdb.RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
deleteBackup
(
int
backupId
)
throws
RocksDBException
{
deleteBackup0
(
nativeHandle_
,
backupId
);
...
...
@@ -104,7 +113,7 @@ public class BackupableDB extends RocksDB {
super
();
}
@Override
protected
void
finalize
()
{
@Override
protected
void
finalize
()
throws
Throwable
{
close
();
super
.
finalize
();
}
...
...
java/org/rocksdb/ColumnFamilyOptionsInterface.java
浏览文件 @
1033db29
...
...
@@ -152,7 +152,8 @@ public interface ColumnFamilyOptionsInterface {
* Default: 4MB
* @param writeBufferSize the size of write buffer.
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setWriteBufferSize
(
long
writeBufferSize
)
throws
RocksDBException
;
...
...
@@ -223,6 +224,7 @@ public interface ColumnFamilyOptionsInterface {
* extract the prefix given a key.
*
* @param n use the first n bytes of a key as its prefix.
* @return the reference to the current option.
*/
Object
useFixedLengthPrefixExtractor
(
int
n
);
...
...
@@ -415,6 +417,8 @@ public interface ColumnFamilyOptionsInterface {
* and total file size for level-3 will be 2GB.
* by default 'maxBytesForLevelBase' is 10MB.
*
* @param maxBytesForLevelBase maximum bytes for level base.
*
* @return the reference to the current option.
* @see #setMaxBytesForLevelMultiplier(int)
*/
...
...
@@ -614,7 +618,8 @@ public interface ColumnFamilyOptionsInterface {
*
* @param arenaBlockSize the size of an arena block
* @return the reference to the current option.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setArenaBlockSize
(
long
arenaBlockSize
)
throws
RocksDBException
;
...
...
@@ -762,7 +767,8 @@ public interface ColumnFamilyOptionsInterface {
*
* @param config the mem-table config.
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setMemTableConfig
(
MemTableConfig
config
)
throws
RocksDBException
;
...
...
@@ -826,7 +832,8 @@ public interface ColumnFamilyOptionsInterface {
* @param inplaceUpdateNumLocks the number of locks used for
* inplace updates.
* @return the reference to the current option.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setInplaceUpdateNumLocks
(
long
inplaceUpdateNumLocks
)
throws
RocksDBException
;
...
...
@@ -920,7 +927,8 @@ public interface ColumnFamilyOptionsInterface {
*
* @param maxSuccessiveMerges the maximum number of successive merges.
* @return the reference to the current option.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setMaxSuccessiveMerges
(
long
maxSuccessiveMerges
)
throws
RocksDBException
;
...
...
java/org/rocksdb/DBOptionsInterface.java
浏览文件 @
1033db29
...
...
@@ -123,7 +123,7 @@ public interface DBOptionsInterface {
* Default: 5000
*
* @param maxOpenFiles the maximum number of open files.
* @return the
reference to the current DBOptions
.
* @return the
instance of the current Object
.
*/
Object
setMaxOpenFiles
(
int
maxOpenFiles
);
...
...
@@ -147,6 +147,9 @@ public interface DBOptionsInterface {
* <p>If set to 0 (default), we will dynamically choose the WAL size limit to
* be [sum of all write_buffer_size * max_write_buffer_number] * 2</p>
* <p>Default: 0</p>
*
* @param maxTotalWalSize max total wal size.
* @return the instance of the current Object.
*/
Object
setMaxTotalWalSize
(
long
maxTotalWalSize
);
...
...
@@ -197,7 +200,7 @@ public interface DBOptionsInterface {
*
* @param disableDataSync a boolean flag to specify whether to
* disable data sync.
* @return the
reference to the current DBOptions
.
* @return the
instance of the current Object
.
*/
Object
setDisableDataSync
(
boolean
disableDataSync
);
...
...
@@ -370,7 +373,8 @@ public interface DBOptionsInterface {
*
* @param maxLogFileSize the maximum size of a info log file.
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setMaxLogFileSize
(
long
maxLogFileSize
)
throws
RocksDBException
;
...
...
@@ -392,7 +396,8 @@ public interface DBOptionsInterface {
*
* @param logFileTimeToRoll the time interval in seconds.
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setLogFileTimeToRoll
(
long
logFileTimeToRoll
)
throws
RocksDBException
;
...
...
@@ -413,7 +418,8 @@ public interface DBOptionsInterface {
*
* @param keepLogFileNum the maximum number of info log files to be kept.
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setKeepLogFileNum
(
long
keepLogFileNum
)
throws
RocksDBException
;
...
...
@@ -584,7 +590,8 @@ public interface DBOptionsInterface {
*
* @param size the size in byte
* @return the instance of the current Object.
* @throws org.rocksdb.RocksDBException
* @throws org.rocksdb.RocksDBException thrown on 32-Bit platforms while
* overflowing the underlying platform specific value.
*/
Object
setManifestPreallocationSize
(
long
size
)
throws
RocksDBException
;
...
...
java/org/rocksdb/HashSkipListMemTableConfig.java
浏览文件 @
1033db29
...
...
@@ -50,6 +50,8 @@ public class HashSkipListMemTableConfig extends MemTableConfig {
/**
* Set the height of the skip list. Default = 4.
*
* @param height height to set.
*
* @return the reference to the current HashSkipListMemTableConfig.
*/
public
HashSkipListMemTableConfig
setHeight
(
int
height
)
{
...
...
java/org/rocksdb/MemTableConfig.java
浏览文件 @
1033db29
...
...
@@ -22,6 +22,11 @@ public abstract class MemTableConfig {
* that associated with the Java MemTableConfig.
*
* @see Options#setMemTableConfig(MemTableConfig)
*
* @return native handle address to native memory table instance.
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
abstract
protected
long
newMemTableFactoryHandle
()
throws
RocksDBException
;
...
...
java/org/rocksdb/MergeOperator.java
浏览文件 @
1033db29
...
...
@@ -5,8 +5,6 @@
package
org.rocksdb
;
import
java.util.*
;
/**
* MergeOperator holds an operator to be applied when compacting
* two merge operands held under the same key in order to obtain a single
...
...
java/org/rocksdb/NativeLibraryLoader.java
浏览文件 @
1033db29
...
...
@@ -9,12 +9,12 @@ import org.rocksdb.util.Environment;
*/
public
class
NativeLibraryLoader
{
private
static
String
sharedLibraryName
=
Environment
.
getJniLibraryName
(
"rocksdb"
);
private
static
String
tempFilePrefix
=
"librocksdbjni"
;
private
static
String
tempFileSuffix
=
"."
+
Environment
.
getJniLibraryExtension
();
public
static
void
loadLibraryFromJar
(
String
tmpDir
)
throws
IOException
{
File
temp
;
String
tempFilePrefix
=
"librocksdbjni"
;
if
(
tmpDir
==
null
||
tmpDir
.
equals
(
""
))
temp
=
File
.
createTempFile
(
tempFilePrefix
,
tempFileSuffix
);
else
...
...
@@ -43,9 +43,7 @@ public class NativeLibraryLoader {
}
finally
{
if
(
os
!=
null
)
os
.
close
();
if
(
is
!=
null
)
is
.
close
();
is
.
close
();
}
System
.
load
(
temp
.
getAbsolutePath
());
...
...
java/org/rocksdb/Options.java
浏览文件 @
1033db29
...
...
@@ -61,6 +61,9 @@ public class Options extends RocksObject
* Use the specified object to interact with the environment,
* e.g. to read/write files, schedule background work, etc.
* Default: {@link RocksEnv#getDefault()}
*
* @param env {@link RocksEnv} instance.
* @return the instance of the current Options.
*/
public
Options
setEnv
(
RocksEnv
env
)
{
assert
(
isInitialized
());
...
...
@@ -69,6 +72,11 @@ public class Options extends RocksObject
return
this
;
}
/**
* Returns the set RocksEnv instance.
*
* @return {@link RocksEnv} instance set in the Options.
*/
public
RocksEnv
getEnv
()
{
return
env_
;
}
...
...
java/org/rocksdb/PlainTableConfig.java
浏览文件 @
1033db29
...
...
@@ -131,7 +131,7 @@ public class PlainTableConfig extends TableFormatConfig {
*
* <p>See linux doc Documentation/vm/hugetlbpage.txt</p>
*
* @param hugePageTlbSize
* @param hugePageTlbSize
huge page tlb size
* @return the reference to the current config.
*/
public
PlainTableConfig
setHugePageTlbSize
(
int
hugePageTlbSize
)
{
...
...
java/org/rocksdb/RateLimiterConfig.java
浏览文件 @
1033db29
...
...
@@ -16,6 +16,8 @@ public abstract class RateLimiterConfig {
* with a Java RateLimiterConfig.
*
* @see org.rocksdb.DBOptions#setRateLimiter(long, long)
*
* @return native handle address to rate limiter instance.
*/
abstract
protected
long
newRateLimiterHandle
();
}
java/org/rocksdb/RestoreBackupableDB.java
浏览文件 @
1033db29
...
...
@@ -40,8 +40,10 @@ public class RestoreBackupableDB extends RocksObject {
* @param backupId id pointing to backup
* @param dbDir database directory to restore to
* @param walDir directory where wal files are located
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance
* @throws RocksDBException
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance.
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
restoreDBFromBackup
(
long
backupId
,
String
dbDir
,
String
walDir
,
RestoreOptions
restoreOptions
)
throws
RocksDBException
{
...
...
@@ -55,7 +57,9 @@ public class RestoreBackupableDB extends RocksObject {
* @param dbDir database directory to restore to
* @param walDir directory where wal files are located
* @param restoreOptions {@link org.rocksdb.RestoreOptions} instance
* @throws RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
restoreDBFromLatestBackup
(
String
dbDir
,
String
walDir
,
RestoreOptions
restoreOptions
)
throws
RocksDBException
{
...
...
@@ -67,7 +71,9 @@ public class RestoreBackupableDB extends RocksObject {
* Deletes old backups, keeping latest numBackupsToKeep alive.
*
* @param numBackupsToKeep of latest backups to keep
* @throws org.rocksdb.RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
purgeOldBackups
(
int
numBackupsToKeep
)
throws
RocksDBException
{
purgeOldBackups0
(
nativeHandle_
,
numBackupsToKeep
);
...
...
@@ -77,7 +83,9 @@ public class RestoreBackupableDB extends RocksObject {
* Deletes a specific backup.
*
* @param backupId of backup to delete.
* @throws org.rocksdb.RocksDBException
*
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
deleteBackup
(
int
backupId
)
throws
RocksDBException
{
deleteBackup0
(
nativeHandle_
,
backupId
);
...
...
java/org/rocksdb/RocksDB.java
浏览文件 @
1033db29
此差异已折叠。
点击以展开。
java/org/rocksdb/RocksDBException.java
浏览文件 @
1033db29
...
...
@@ -5,8 +5,6 @@
package
org.rocksdb
;
import
java.util.*
;
/**
* A RocksDBException encapsulates the error of an operation. This exception
* type is used to describe an internal error from the c++ rocksdb library.
...
...
java/org/rocksdb/RocksEnv.java
浏览文件 @
1033db29
...
...
@@ -29,6 +29,8 @@ public class RocksEnv extends RocksObject {
* belongs to rocksdb c++. As a result, the returned RocksEnv will not
* have the ownership of its c++ resource, and calling its dispose()
* will be no-op.</p>
*
* @return the default {@link org.rocksdb.RocksEnv} instance.
*/
public
static
RocksEnv
getDefault
()
{
return
default_env_
;
...
...
@@ -38,6 +40,10 @@ public class RocksEnv extends RocksObject {
* <p>Sets the number of background worker threads of the flush pool
* for this environment.</p>
* <p>Default number: 1</p>
*
* @param num the number of threads
*
* @return current {@link org.rocksdb.RocksEnv} instance.
*/
public
RocksEnv
setBackgroundThreads
(
int
num
)
{
return
setBackgroundThreads
(
num
,
FLUSH_POOL
);
...
...
@@ -52,6 +58,7 @@ public class RocksEnv extends RocksObject {
* FLUSH_POOL or COMPACTION_POOL.
*
* <p>Default number: 1</p>
* @return current {@link org.rocksdb.RocksEnv} instance.
*/
public
RocksEnv
setBackgroundThreads
(
int
num
,
int
poolID
)
{
setBackgroundThreads
(
nativeHandle_
,
num
,
poolID
);
...
...
@@ -66,6 +73,8 @@ public class RocksEnv extends RocksObject {
*
* @param poolID the id to specified a thread pool. Should be either
* FLUSH_POOL or COMPACTION_POOL.
*
* @return the thread pool queue length.
*/
public
int
getThreadPoolQueueLen
(
int
poolID
)
{
return
getThreadPoolQueueLen
(
nativeHandle_
,
poolID
);
...
...
java/org/rocksdb/RocksIterator.java
浏览文件 @
1033db29
...
...
@@ -112,6 +112,9 @@ public class RocksIterator extends RocksObject {
* <p>Position at the first key in the source that at or past target
* The iterator is valid after this call iff the source contains
* an entry that comes at or past target.</p>
*
* @param target byte array describing a key or a
* key prefix to seek for.
*/
public
void
seek
(
byte
[]
target
)
{
assert
(
isInitialized
());
...
...
@@ -123,7 +126,8 @@ public class RocksIterator extends RocksObject {
* If non-blocking IO is requested and this operation cannot be
* satisfied without doing some IO, then this returns Status::Incomplete().
*
* @throws org.rocksdb.RocksDBException
* @throws RocksDBException thrown if error happens in underlying
* native library.
*/
public
void
status
()
throws
RocksDBException
{
assert
(
isInitialized
());
...
...
java/org/rocksdb/RocksObject.java
浏览文件 @
1033db29
...
...
@@ -37,7 +37,7 @@ public abstract class RocksObject {
* small in that they seems to only hold a long variable. As a result,
* they might have low priority in the GC process. To prevent this,
* it is suggested to call {@code dispose()} manually.
* <p>
* <
/
p>
* <p>
* Note that once an instance of {@code RocksObject} has been disposed,
* calling its function will lead undefined behavior.
...
...
@@ -107,8 +107,9 @@ public abstract class RocksObject {
* Simply calls {@code dispose()} and release its c++ resource if it has not
* yet released.
*/
@Override
protected
void
finalize
()
{
@Override
protected
void
finalize
()
throws
Throwable
{
dispose
();
super
.
finalize
();
}
/**
...
...
java/org/rocksdb/Slice.java
浏览文件 @
1033db29
...
...
@@ -6,26 +6,26 @@
package
org.rocksdb
;
/**
* Base class for slices which will receive
* byte[] based access to the underlying data.
*
<p>
Base class for slices which will receive
* byte[] based access to the underlying data.
</p>
*
* byte[] backed slices typically perform better with
*
<p>
byte[] backed slices typically perform better with
* small keys and values. When using larger keys and
* values consider using
@see org.rocksdb.DirectSlice
* values consider using
{@link org.rocksdb.DirectSlice}</p>
*/
public
class
Slice
extends
AbstractSlice
<
byte
[]>
{
/**
* Called from JNI to construct a new Java Slice
*
<p>
Called from JNI to construct a new Java Slice
* without an underlying C++ object set
* at creation time.
* at creation time.
</p>
*
* Note: You should be aware that
*
<p>
Note: You should be aware that
* {@see org.rocksdb.RocksObject#disOwnNativeHandle()} is intentionally
* called from the default Slice constructor, and that it is marked as
* private. This is so that developers cannot construct their own default
* Slice objects (at present). As developers cannot construct their own
* Slice objects through this, they are not creating underlying C++ Slice
* objects, and so there is nothing to free (dispose) from Java.
* objects, and so there is nothing to free (dispose) from Java.
</p>
*/
private
Slice
()
{
super
();
...
...
@@ -33,9 +33,10 @@ public class Slice extends AbstractSlice<byte[]> {
}
/**
* Constructs a slice
* where the data is taken from
* a String.
* <p>Constructs a slice where the data is taken from
* a String.</p>
*
* @param str String value.
*/
public
Slice
(
final
String
str
)
{
super
();
...
...
@@ -43,9 +44,11 @@ public class Slice extends AbstractSlice<byte[]> {
}
/**
* Constructs a slice
* where the data is a copy of
* the byte array from a specific offset.
* <p>Constructs a slice where the data is a copy of
* the byte array from a specific offset.</p>
*
* @param data byte array.
* @param offset offset within the byte array.
*/
public
Slice
(
final
byte
[]
data
,
final
int
offset
)
{
super
();
...
...
@@ -53,9 +56,10 @@ public class Slice extends AbstractSlice<byte[]> {
}
/**
* Constructs a slice
* where the data is a copy of
* the byte array.
* <p>Constructs a slice where the data is a copy of
* the byte array.</p>
*
* @param data byte array.
*/
public
Slice
(
final
byte
[]
data
)
{
super
();
...
...
@@ -63,8 +67,8 @@ public class Slice extends AbstractSlice<byte[]> {
}
/**
* Deletes underlying C++ slice pointer
* and any buffered data.
*
<p>
Deletes underlying C++ slice pointer
* and any buffered data.
</p>
*
* <p>
* Note that this function should be called only after all
...
...
java/org/rocksdb/Statistics.java
浏览文件 @
1033db29
...
...
@@ -24,9 +24,8 @@ public class Statistics {
public
HistogramData
geHistogramData
(
HistogramType
histogramType
)
{
assert
(
isInitialized
());
HistogramData
hist
=
geHistogramData0
(
return
geHistogramData0
(
histogramType
.
getValue
(),
statsHandle_
);
return
hist
;
}
private
boolean
isInitialized
()
{
...
...
java/org/rocksdb/StatisticsCollector.java
浏览文件 @
1033db29
...
...
@@ -6,11 +6,9 @@
package
org.rocksdb
;
import
java.util.List
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.atomic.AtomicBoolean
;
/**
* <p>Helper class to collect DB statistics periodically at a period specified in
...
...
@@ -51,6 +49,7 @@ public class StatisticsCollector {
*
* @param shutdownTimeout Time in milli-seconds to wait for shutdown before
* killing the collection process.
* @throws java.lang.InterruptedException thrown if Threads are interrupted.
*/
public
void
shutDown
(
int
shutdownTimeout
)
throws
InterruptedException
{
_isRunning
=
false
;
...
...
java/org/rocksdb/TableFormatConfig.java
浏览文件 @
1033db29
...
...
@@ -12,9 +12,11 @@ package org.rocksdb;
*/
public
abstract
class
TableFormatConfig
{
/**
* This function should only be called by Options.setTableFormatConfig(),
*
<p>
This function should only be called by Options.setTableFormatConfig(),
* which will create a c++ shared-pointer to the c++ TableFactory
* that associated with the Java TableFormatConfig.
* that associated with the Java TableFormatConfig.</p>
*
* @return native handle address to native table instance.
*/
abstract
protected
long
newTableFactoryHandle
();
}
java/org/rocksdb/WriteBatch.java
浏览文件 @
1033db29
...
...
@@ -23,11 +23,19 @@ package org.rocksdb;
* external synchronization.
*/
public
class
WriteBatch
extends
RocksObject
{
/**
* Constructs a WriteBatch instance.
*/
public
WriteBatch
()
{
super
();
newWriteBatch
(
0
);
}
/**
* Constructs a WriteBatch instance with a given size.
*
* @param reserved_bytes reserved size for WriteBatch
*/
public
WriteBatch
(
int
reserved_bytes
)
{
nativeHandle_
=
0
;
newWriteBatch
(
reserved_bytes
);
...
...
@@ -35,19 +43,29 @@ public class WriteBatch extends RocksObject {
/**
* Returns the number of updates in the batch.
*
* @return number of items in WriteBatch
*/
public
native
int
count
();
/**
* Store the mapping "key->value" in the database.
* <p>Store the mapping "key->value" in the database.</p>
*
* @param key the specified key to be inserted.
* @param value the value associated with the specified key.
*/
public
void
put
(
byte
[]
key
,
byte
[]
value
)
{
put
(
key
,
key
.
length
,
value
,
value
.
length
);
}
/**
* Store the mapping "key->value" within given column
* family.
* <p>Store the mapping "key->value" within given column
* family.</p>
*
* @param columnFamilyHandle {@link org.rocksdb.ColumnFamilyHandle}
* instance
* @param key the specified key to be inserted.
* @param value the value associated with the specified key.
*/
public
void
put
(
ColumnFamilyHandle
columnFamilyHandle
,
byte
[]
key
,
byte
[]
value
)
{
...
...
@@ -56,16 +74,25 @@ public class WriteBatch extends RocksObject {
}
/**
* Merge "value" with the existing value of "key" in the database.
* "key->merge(existing, value)"
* <p>Merge "value" with the existing value of "key" in the database.
* "key->merge(existing, value)"</p>
*
* @param key the specified key to be merged.
* @param value the value to be merged with the current value for
* the specified key.
*/
public
void
merge
(
byte
[]
key
,
byte
[]
value
)
{
merge
(
key
,
key
.
length
,
value
,
value
.
length
);
}
/**
* Merge "value" with the existing value of "key" in given column family.
* "key->merge(existing, value)"
* <p>Merge "value" with the existing value of "key" in given column family.
* "key->merge(existing, value)"</p>
*
* @param columnFamilyHandle {@link ColumnFamilyHandle} instance
* @param key the specified key to be merged.
* @param value the value to be merged with the current value for
* the specified key.
*/
public
void
merge
(
ColumnFamilyHandle
columnFamilyHandle
,
byte
[]
key
,
byte
[]
value
)
{
...
...
@@ -74,14 +101,19 @@ public class WriteBatch extends RocksObject {
}
/**
* If the database contains a mapping for "key", erase it. Else do nothing.
* <p>If the database contains a mapping for "key", erase it. Else do nothing.</p>
*
* @param key Key to delete within database
*/
public
void
remove
(
byte
[]
key
)
{
remove
(
key
,
key
.
length
);
}
/**
* If column family contains a mapping for "key", erase it. Else do nothing.
* <p>If column family contains a mapping for "key", erase it. Else do nothing.</p>
*
* @param columnFamilyHandle {@link ColumnFamilyHandle} instance
* @param key Key to delete within database
*/
public
void
remove
(
ColumnFamilyHandle
columnFamilyHandle
,
byte
[]
key
)
{
remove
(
key
,
key
.
length
,
columnFamilyHandle
.
nativeHandle_
);
...
...
@@ -98,6 +130,8 @@ public class WriteBatch extends RocksObject {
*
* Example application: add timestamps to the transaction log for use in
* replication.
*
* @param blob binary object to be inserted
*/
public
void
putLogData
(
byte
[]
blob
)
{
putLogData
(
blob
,
blob
.
length
);
...
...
@@ -166,6 +200,9 @@ public class WriteBatch extends RocksObject {
* iteration is halted. Otherwise, it continues
* iterating. The default implementation always
* returns true.
*
* @return boolean value indicating if the
* iteration is halted.
*/
public
boolean
shouldContinue
()
{
return
true
;
...
...
java/org/rocksdb/WriteOptions.java
浏览文件 @
1033db29
...
...
@@ -12,6 +12,9 @@ package org.rocksdb;
* c++ side memory before a WriteOptions instance runs out of scope.
*/
public
class
WriteOptions
extends
RocksObject
{
/**
* Construct WriteOptions instance.
*/
public
WriteOptions
()
{
super
();
newWriteOptions
();
...
...
@@ -64,6 +67,8 @@ public class WriteOptions extends RocksObject {
* crash semantics as the "write()" system call. A DB write
* with sync==true has similar crash semantics to a "write()"
* system call followed by "fdatasync()".
*
* @return boolean value indicating if sync is active.
*/
public
boolean
sync
()
{
return
sync
(
nativeHandle_
);
...
...
@@ -85,6 +90,8 @@ public class WriteOptions extends RocksObject {
/**
* If true, writes will not first go to the write ahead log,
* and the write may got lost after a crash.
*
* @return boolean value indicating if WAL is disabled.
*/
public
boolean
disableWAL
()
{
return
disableWAL
(
nativeHandle_
);
...
...
java/org/rocksdb/test/AbstractComparatorTest.java
浏览文件 @
1033db29
...
...
@@ -36,6 +36,8 @@ public abstract class AbstractComparatorTest {
*
* @param db_path A path where we can store database
* files temporarily
*
* @throws java.io.IOException if IO error happens.
*/
public
void
testRoundtrip
(
final
Path
db_path
)
throws
IOException
{
...
...
java/org/rocksdb/test/PlatformRandomHelper.java
浏览文件 @
1033db29
...
...
@@ -14,6 +14,8 @@ import java.util.Random;
public
class
PlatformRandomHelper
{
/**
* Determine if OS is 32-Bit/64-Bit
*
* @return boolean value indicating if operating system is 64 Bit.
*/
public
static
boolean
isOs64Bit
(){
boolean
is64Bit
=
false
;
...
...
@@ -27,6 +29,8 @@ public class PlatformRandomHelper {
/**
* Factory to get a platform specific Random instance
*
* @return {@link java.util.Random} instance.
*/
public
static
Random
getPlatformSpecificRandomFactory
(){
if
(
isOs64Bit
())
{
...
...
java/org/rocksdb/util/Environment.java
浏览文件 @
1033db29
...
...
@@ -5,17 +5,17 @@ public class Environment {
private
static
String
ARCH
=
System
.
getProperty
(
"os.arch"
).
toLowerCase
();
public
static
boolean
isWindows
()
{
return
(
OS
.
indexOf
(
"win"
)
>=
0
);
return
(
OS
.
contains
(
"win"
)
);
}
public
static
boolean
isMac
()
{
return
(
OS
.
indexOf
(
"mac"
)
>=
0
);
return
(
OS
.
contains
(
"mac"
)
);
}
public
static
boolean
isUnix
()
{
return
(
OS
.
indexOf
(
"nix"
)
>=
0
||
OS
.
indexOf
(
"nux"
)
>=
0
||
OS
.
indexOf
(
"aix"
)
>=
0
);
return
(
OS
.
contains
(
"nix"
)
||
OS
.
contains
(
"nux"
)
||
OS
.
contains
(
"aix"
)
);
}
public
static
boolean
is64Bit
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录