Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f0f2215f
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
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看板
提交
f0f2215f
编写于
7月 17, 2023
作者:
dengyihao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add checkpoint
上级
3168096e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
30 deletion
+37
-30
source/libs/stream/src/streamBackendRocksdb.c
source/libs/stream/src/streamBackendRocksdb.c
+37
-30
未找到文件。
source/libs/stream/src/streamBackendRocksdb.c
浏览文件 @
f0f2215f
...
@@ -1340,35 +1340,36 @@ rocksdb_iterator_t* streamStateIterCreate(SStreamState* pState, const char* pChk
...
@@ -1340,35 +1340,36 @@ rocksdb_iterator_t* streamStateIterCreate(SStreamState* pState, const char* pChk
return
rocksdb_create_iterator_cf
(
wrapper
->
rocksdb
,
rOpt
,
((
rocksdb_column_family_handle_t
**
)
wrapper
->
pHandle
)[
idx
]);
return
rocksdb_create_iterator_cf
(
wrapper
->
rocksdb
,
rOpt
,
((
rocksdb_column_family_handle_t
**
)
wrapper
->
pHandle
)[
idx
]);
}
}
#define STREAM_STATE_PUT_ROCKSDB(pState, funcname, key, value, vLen) \
#define STREAM_STATE_PUT_ROCKSDB(pState, funcname, key, value, vLen) \
do { \
do { \
code = 0; \
code = 0; \
char buf[128] = {0}; \
char buf[128] = {0}; \
char* err = NULL; \
char* err = NULL; \
int i = streamStateGetCfIdx(pState, funcname); \
int i = streamStateGetCfIdx(pState, funcname); \
if (i < 0) { \
if (i < 0) { \
qWarn("streamState failed to get cf name: %s", funcname); \
qWarn("streamState failed to get cf name: %s", funcname); \
code = -1; \
code = -1; \
break; \
break; \
} \
} \
SBackendCfWrapper* wrapper = pState->pTdbState->pBackendCfWrapper; \
SBackendCfWrapper* wrapper = pState->pTdbState->pBackendCfWrapper; \
char toString[128] = {0}; \
char toString[128] = {0}; \
if (qDebugFlag & DEBUG_TRACE) ginitDict[i].toStrFunc((void*)key, toString); \
if (qDebugFlag & DEBUG_TRACE) ginitDict[i].toStrFunc((void*)key, toString); \
int32_t klen = ginitDict[i].enFunc((void*)key, buf); \
int32_t klen = ginitDict[i].enFunc((void*)key, buf); \
rocksdb_column_family_handle_t* pHandle = ((rocksdb_column_family_handle_t**)wrapper->pHandle)[ginitDict[i].idx]; \
rocksdb_column_family_handle_t* pHandle = ((rocksdb_column_family_handle_t**)wrapper->pHandle)[ginitDict[i].idx]; \
rocksdb_t* db = wrapper->rocksdb; \
rocksdb_t* db = wrapper->rocksdb; \
rocksdb_writeoptions_t* opts = wrapper->writeOpts; \
rocksdb_writeoptions_t* opts = wrapper->writeOpts; \
char* ttlV = NULL; \
char* ttlV = NULL; \
int32_t ttlVLen = ginitDict[i].enValueFunc((char*)value, vLen, 0, &ttlV); \
int32_t ttlVLen = ginitDict[i].enValueFunc((char*)value, vLen, 0, &ttlV); \
rocksdb_put_cf(db, opts, pHandle, (const char*)buf, klen, (const char*)ttlV, (size_t)ttlVLen, &err); \
rocksdb_put_cf(db, opts, pHandle, (const char*)buf, klen, (const char*)ttlV, (size_t)ttlVLen, &err); \
if (err != NULL) { \
if (err != NULL) { \
qError("streamState str: %s failed to write to %s, err: %s", toString, funcname, err); \
qError("streamState str: %s failed to write to %s_%s, err: %s", toString, wrapper->idstr, funcname, err); \
taosMemoryFree(err); \
taosMemoryFree(err); \
code = -1; \
code = -1; \
} else { \
} else { \
qTrace("streamState str:%s succ to write to %s, rowValLen:%d, ttlValLen:%d", toString, funcname, vLen, ttlVLen); \
qTrace("streamState str:%s succ to write to %s_%s, rowValLen:%d, ttlValLen:%d", toString, wrapper->idstr, \
} \
funcname, vLen, ttlVLen); \
taosMemoryFree(ttlV); \
} \
taosMemoryFree(ttlV); \
} while (0);
} while (0);
#define STREAM_STATE_GET_ROCKSDB(pState, funcname, key, pVal, vLen) \
#define STREAM_STATE_GET_ROCKSDB(pState, funcname, key, pVal, vLen) \
...
@@ -2404,6 +2405,12 @@ int32_t streamStatePutBatch(SStreamState* pState, const char* pChkptFileName, ro
...
@@ -2404,6 +2405,12 @@ int32_t streamStatePutBatch(SStreamState* pState, const char* pChkptFileName, ro
rocksdb_column_family_handle_t
*
pCf
=
wrapper
->
pHandle
[
ginitDict
[
i
].
idx
];
rocksdb_column_family_handle_t
*
pCf
=
wrapper
->
pHandle
[
ginitDict
[
i
].
idx
];
rocksdb_writebatch_put_cf
((
rocksdb_writebatch_t
*
)
pBatch
,
pCf
,
buf
,
(
size_t
)
klen
,
ttlV
,
(
size_t
)
ttlVLen
);
rocksdb_writebatch_put_cf
((
rocksdb_writebatch_t
*
)
pBatch
,
pCf
,
buf
,
(
size_t
)
klen
,
ttlV
,
(
size_t
)
ttlVLen
);
taosMemoryFree
(
ttlV
);
taosMemoryFree
(
ttlV
);
{
char
tbuf
[
256
]
=
{
0
};
ginitDict
[
i
].
toStrFunc
((
void
*
)
key
,
tbuf
);
qDebug
(
"streamState str: %s succ to write to %s_%s"
,
tbuf
,
wrapper
->
idstr
,
ginitDict
[
i
].
key
);
}
return
0
;
return
0
;
}
}
...
@@ -2424,7 +2431,7 @@ int32_t streamStatePutBatchOptimize(SStreamState* pState, int32_t cfIdx, rocksdb
...
@@ -2424,7 +2431,7 @@ int32_t streamStatePutBatchOptimize(SStreamState* pState, int32_t cfIdx, rocksdb
{
{
char
tbuf
[
256
]
=
{
0
};
char
tbuf
[
256
]
=
{
0
};
ginitDict
[
cfIdx
].
toStrFunc
((
void
*
)
key
,
tbuf
);
ginitDict
[
cfIdx
].
toStrFunc
((
void
*
)
key
,
tbuf
);
qDebug
(
"streamState str: %s succ to write to %s
"
,
tbuf
,
ginitDict
[
cfIdx
].
key
);
qDebug
(
"streamState str: %s succ to write to %s
_%s"
,
tbuf
,
wrapper
->
idstr
,
ginitDict
[
cfIdx
].
key
);
}
}
return
0
;
return
0
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录