Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kvdb
rocksdb
提交
4d02bfa3
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,发现更多精彩内容 >>
提交
4d02bfa3
编写于
5月 06, 2016
作者:
A
Adam Retter
提交者:
Yueh-Hsuan Chiang
5月 06, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add support for PauseBackgroundWork and ContinueBackgroundWork to the Java API (#1087)
Closes
https://github.com/facebook/rocksdb/issues/1071
上级
8f65feaf
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
68 addition
and
0 deletion
+68
-0
java/rocksjni/rocksjni.cc
java/rocksjni/rocksjni.cc
+36
-0
java/src/main/java/org/rocksdb/RocksDB.java
java/src/main/java/org/rocksdb/RocksDB.java
+19
-0
java/src/test/java/org/rocksdb/RocksDBTest.java
java/src/test/java/org/rocksdb/RocksDBTest.java
+13
-0
未找到文件。
java/rocksjni/rocksjni.cc
浏览文件 @
4d02bfa3
...
...
@@ -1484,6 +1484,42 @@ void Java_org_rocksdb_RocksDB_compactRange__J_3BI_3BIZIIJ(
jend
,
jend_len
,
jreduce_level
,
jtarget_level
,
jtarget_path_id
);
}
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::PauseBackgroundWork
/*
* Class: org_rocksdb_RocksDB
* Method: pauseBackgroundWork
* Signature: (J)V
*/
void
Java_org_rocksdb_RocksDB_pauseBackgroundWork
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
jdb_handle
)
{
auto
*
db
=
reinterpret_cast
<
rocksdb
::
DB
*>
(
jdb_handle
);
auto
s
=
db
->
PauseBackgroundWork
();
if
(
s
.
ok
())
{
return
;
}
rocksdb
::
RocksDBExceptionJni
::
ThrowNew
(
env
,
s
);
}
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::ContinueBackgroundWork
/*
* Class: org_rocksdb_RocksDB
* Method: continueBackgroundWork
* Signature: (J)V
*/
void
Java_org_rocksdb_RocksDB_continueBackgroundWork
(
JNIEnv
*
env
,
jobject
jobj
,
jlong
jdb_handle
)
{
auto
*
db
=
reinterpret_cast
<
rocksdb
::
DB
*>
(
jdb_handle
);
auto
s
=
db
->
ContinueBackgroundWork
();
if
(
s
.
ok
())
{
return
;
}
rocksdb
::
RocksDBExceptionJni
::
ThrowNew
(
env
,
s
);
}
//////////////////////////////////////////////////////////////////////////////
// rocksdb::DB::GetLatestSequenceNumber
...
...
java/src/main/java/org/rocksdb/RocksDB.java
浏览文件 @
4d02bfa3
...
...
@@ -1631,6 +1631,23 @@ public class RocksDB extends RocksObject {
columnFamilyHandle
.
nativeHandle_
);
}
/**
* This function will wait until all currently running background processes
* finish. After it returns, no background process will be run until
* {@link #continueBackgroundWork()} is called
*/
public
void
pauseBackgroundWork
()
throws
RocksDBException
{
pauseBackgroundWork
(
nativeHandle_
);
}
/**
* Resumes backround work which was suspended by
* previously calling {@link #pauseBackgroundWork()}
*/
public
void
continueBackgroundWork
()
throws
RocksDBException
{
continueBackgroundWork
(
nativeHandle_
);
}
/**
* <p>The sequence number of the most recent transaction.</p>
*
...
...
@@ -1876,6 +1893,8 @@ public class RocksDB extends RocksObject {
private
native
void
compactRange
(
long
handle
,
byte
[]
begin
,
int
beginLen
,
byte
[]
end
,
int
endLen
,
boolean
reduce_level
,
int
target_level
,
int
target_path_id
,
long
cfHandle
)
throws
RocksDBException
;
private
native
void
pauseBackgroundWork
(
long
handle
)
throws
RocksDBException
;
private
native
void
continueBackgroundWork
(
long
handle
)
throws
RocksDBException
;
private
native
long
getLatestSequenceNumber
(
long
handle
);
private
native
void
disableFileDeletions
(
long
handle
)
throws
RocksDBException
;
private
native
void
enableFileDeletions
(
long
handle
,
...
...
java/src/test/java/org/rocksdb/RocksDBTest.java
浏览文件 @
4d02bfa3
...
...
@@ -637,6 +637,19 @@ public class RocksDBTest {
}
}
@Test
public
void
pauseContinueBackgroundWork
()
throws
RocksDBException
{
try
(
final
Options
options
=
new
Options
().
setCreateIfMissing
(
true
);
final
RocksDB
db
=
RocksDB
.
open
(
options
,
dbFolder
.
getRoot
().
getAbsolutePath
())
)
{
db
.
pauseBackgroundWork
();
db
.
continueBackgroundWork
();
db
.
pauseBackgroundWork
();
db
.
continueBackgroundWork
();
}
}
@Test
public
void
enableDisableFileDeletions
()
throws
RocksDBException
{
try
(
final
Options
options
=
new
Options
().
setCreateIfMissing
(
true
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录