Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
3272d14e
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3272d14e
编写于
4月 20, 2023
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change write opt
上级
b6108921
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
7 deletion
+42
-7
cmake/rocksdb_CMakeLists.txt.in
cmake/rocksdb_CMakeLists.txt.in
+2
-1
include/libs/stream/streamState.h
include/libs/stream/streamState.h
+6
-0
source/libs/stream/src/streamStateRocksdb.c
source/libs/stream/src/streamStateRocksdb.c
+34
-6
未找到文件。
cmake/rocksdb_CMakeLists.txt.in
浏览文件 @
3272d14e
...
...
@@ -4,8 +4,9 @@ ExternalProject_Add(rocksdb
GIT_REPOSITORY https://github.com/taosdata-contrib/rocksdb.git
GIT_TAG v6.23.3
SOURCE_DIR "${TD_CONTRIB_DIR}/rocksdb"
CMAKE_ARGS "-DPORTABLE=on"
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
TEST_COMMAND ""
)
\ No newline at end of file
)
include/libs/stream/streamState.h
浏览文件 @
3272d14e
...
...
@@ -149,6 +149,12 @@ typedef struct SStateSessionKey {
int64_t
opNum
;
}
SStateSessionKey
;
typedef
struct
streamValue
{
int64_t
unixTimestamp
;
int32_t
len
;
char
data
[
0
];
}
streamValue
;
int
sessionRangeKeyCmpr
(
const
SSessionKey
*
pWin1
,
const
SSessionKey
*
pWin2
);
int
sessionWinKeyCmpr
(
const
SSessionKey
*
pWin1
,
const
SSessionKey
*
pWin2
);
int
stateSessionKeyCmpr
(
const
void
*
pKey1
,
int
kLen1
,
const
void
*
pKey2
,
int
kLen2
);
...
...
source/libs/stream/src/streamStateRocksdb.c
浏览文件 @
3272d14e
...
...
@@ -288,6 +288,39 @@ int parKeyToString(void* k, char* buf) {
n
=
sprintf
(
buf
+
n
,
"[groupId:%"
PRIi64
"]"
,
*
key
);
return
n
;
}
int
stremaValueEncode
(
void
*
k
,
char
*
buf
)
{
int
len
=
0
;
streamValue
*
key
=
k
;
len
+=
taosEncodeFixedI64
((
void
**
)
&
buf
,
key
->
unixTimestamp
);
len
+=
taosEncodeFixedI32
((
void
**
)
&
buf
,
key
->
len
);
len
+=
taosEncodeBinary
((
void
**
)
&
buf
,
key
->
data
,
key
->
len
);
return
len
;
}
int
streamValueDecode
(
void
*
k
,
char
*
buf
)
{
streamValue
*
key
=
k
;
char
*
p
=
buf
;
p
=
taosDecodeFixedI64
(
p
,
&
key
->
unixTimestamp
);
p
=
taosDecodeFixedI32
(
p
,
&
key
->
len
);
p
=
taosDecodeBinary
(
p
,
(
void
**
)
&
key
->
data
,
key
->
len
);
return
p
-
buf
;
}
int32_t
streamValueToString
(
void
*
k
,
char
*
buf
)
{
streamValue
*
key
=
k
;
int
n
=
0
;
n
+=
sprintf
(
buf
+
n
,
"[unixTimestamp:%"
PRIi64
","
,
key
->
unixTimestamp
);
n
+=
sprintf
(
buf
+
n
,
"len:%d,"
,
key
->
len
);
n
+=
sprintf
(
buf
+
n
,
"data:%s]"
,
key
->
data
);
return
n
;
}
/*1: stale, 0: no stale*/
int32_t
streaValueIsStale
(
void
*
k
,
int64_t
ts
)
{
streamValue
*
key
=
k
;
if
(
key
->
unixTimestamp
<
ts
)
{
return
1
;
}
return
0
;
}
typedef
struct
{
void
*
tableOpt
;
...
...
@@ -421,11 +454,6 @@ void streamCleanBackend(SStreamState* pState) {
rocksdbCfParam
*
param
=
pState
->
pTdbState
->
param
;
for
(
int
i
=
0
;
i
<
cfLen
;
i
++
)
{
rocksdb_column_family_handle_destroy
(
pState
->
pTdbState
->
pHandle
[
i
]);
// rocksdb_options_destroy(pState->pTdbState->cfOpts[i]);
// rocksdb_comparator_destroy(pState->pTdbState->pCompare[i]);
// rocksdb_cache_destroy(param[i].lru);
// rocksdb_block_based_options_destroy(param[i].tableOpt);
}
taosMemoryFreeClear
(
pState
->
pTdbState
->
pHandle
);
...
...
@@ -438,8 +466,8 @@ void streamCleanBackend(SStreamState* pState) {
pState
->
pTdbState
->
readOpts
=
NULL
;
rocksdb_close
(
pState
->
pTdbState
->
rocksdb
);
// wait for all background work to finish
for
(
int
i
=
0
;
i
<
cfLen
;
i
++
)
{
// rocksdb_column_family_handle_destroy(pState->pTdbState->pHandle[i]);
rocksdb_options_destroy
(
pState
->
pTdbState
->
cfOpts
[
i
]);
rocksdb_comparator_destroy
(
pState
->
pTdbState
->
pCompare
[
i
]);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录