Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
c0786acc
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c0786acc
编写于
6月 16, 2020
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-570] fix bug while sdb sync
上级
a561016f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
10 deletion
+11
-10
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+11
-10
未找到文件。
src/mnode/src/mnodeSdb.c
浏览文件 @
c0786acc
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
#include "mnodeSdb.h"
#include "mnodeSdb.h"
#define SDB_TABLE_LEN 12
#define SDB_TABLE_LEN 12
#define SDB_SYNC_HACK 16
typedef
enum
{
typedef
enum
{
SDB_ACTION_INSERT
,
SDB_ACTION_INSERT
,
...
@@ -566,7 +567,7 @@ static int sdbWrite(void *param, void *data, int type) {
...
@@ -566,7 +567,7 @@ static int sdbWrite(void *param, void *data, int type) {
// from app, oper is created
// from app, oper is created
if
(
pOper
!=
NULL
)
{
if
(
pOper
!=
NULL
)
{
sdbTrace
(
"record from app is disposed, version:%"
PRIu64
"
code
:%s"
,
pHead
->
version
,
tstrerror
(
code
));
sdbTrace
(
"record from app is disposed, version:%"
PRIu64
"
result
:%s"
,
pHead
->
version
,
tstrerror
(
code
));
return
code
;
return
code
;
}
}
...
@@ -628,10 +629,10 @@ int32_t sdbInsertRow(SSdbOper *pOper) {
...
@@ -628,10 +629,10 @@ int32_t sdbInsertRow(SSdbOper *pOper) {
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
}
}
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
pTable
->
maxRowSize
;
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
pTable
->
maxRowSize
+
SDB_SYNC_HACK
;
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
)
+
SDB_SYNC_HACK
;
pHead
->
version
=
0
;
pHead
->
version
=
0
;
pHead
->
len
=
pOper
->
rowSize
;
pHead
->
len
=
pOper
->
rowSize
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_INSERT
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_INSERT
;
...
@@ -692,10 +693,10 @@ int32_t sdbDeleteRow(SSdbOper *pOper) {
...
@@ -692,10 +693,10 @@ int32_t sdbDeleteRow(SSdbOper *pOper) {
return
TSDB_CODE_MND_SDB_INVAID_KEY_TYPE
;
return
TSDB_CODE_MND_SDB_INVAID_KEY_TYPE
;
}
}
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
keySize
;
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
keySize
+
SDB_SYNC_HACK
;
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
)
+
SDB_SYNC_HACK
;
pHead
->
version
=
0
;
pHead
->
version
=
0
;
pHead
->
len
=
keySize
;
pHead
->
len
=
keySize
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_DELETE
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_DELETE
;
...
@@ -738,10 +739,10 @@ int32_t sdbUpdateRow(SSdbOper *pOper) {
...
@@ -738,10 +739,10 @@ int32_t sdbUpdateRow(SSdbOper *pOper) {
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
}
}
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
pTable
->
maxRowSize
;
int32_t
size
=
sizeof
(
SSdbOper
)
+
sizeof
(
SWalHead
)
+
pTable
->
maxRowSize
+
SDB_SYNC_HACK
;
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SSdbOper
*
pNewOper
=
taosAllocateQitem
(
size
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
);
SWalHead
*
pHead
=
(
void
*
)
pNewOper
+
sizeof
(
SSdbOper
)
+
SDB_SYNC_HACK
;
pHead
->
version
=
0
;
pHead
->
version
=
0
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_UPDATE
;
pHead
->
msgType
=
pTable
->
tableId
*
10
+
SDB_ACTION_UPDATE
;
...
@@ -969,7 +970,7 @@ static void *sdbWorkerFp(void *param) {
...
@@ -969,7 +970,7 @@ static void *sdbWorkerFp(void *param) {
taosGetQitem
(
tsSdbWriteQall
,
&
type
,
&
item
);
taosGetQitem
(
tsSdbWriteQall
,
&
type
,
&
item
);
if
(
type
==
TAOS_QTYPE_RPC
)
{
if
(
type
==
TAOS_QTYPE_RPC
)
{
pOper
=
(
SSdbOper
*
)
item
;
pOper
=
(
SSdbOper
*
)
item
;
pHead
=
(
void
*
)
pOper
+
sizeof
(
SSdbOper
);
pHead
=
(
void
*
)
pOper
+
sizeof
(
SSdbOper
)
+
SDB_SYNC_HACK
;
}
else
{
}
else
{
pHead
=
(
SWalHead
*
)
item
;
pHead
=
(
SWalHead
*
)
item
;
pOper
=
NULL
;
pOper
=
NULL
;
...
@@ -991,10 +992,10 @@ static void *sdbWorkerFp(void *param) {
...
@@ -991,10 +992,10 @@ static void *sdbWorkerFp(void *param) {
taosGetQitem
(
tsSdbWriteQall
,
&
type
,
&
item
);
taosGetQitem
(
tsSdbWriteQall
,
&
type
,
&
item
);
if
(
type
==
TAOS_QTYPE_RPC
)
{
if
(
type
==
TAOS_QTYPE_RPC
)
{
pOper
=
(
SSdbOper
*
)
item
;
pOper
=
(
SSdbOper
*
)
item
;
if
(
pOper
->
cb
)
{
if
(
pOper
!=
NULL
&&
pOper
->
cb
!=
NULL
)
{
pOper
->
retCode
=
(
*
pOper
->
cb
)(
pOper
->
pMsg
,
pOper
->
retCode
);
pOper
->
retCode
=
(
*
pOper
->
cb
)(
pOper
->
pMsg
,
pOper
->
retCode
);
}
}
if
(
pOper
!=
NULL
&&
pOper
->
pMsg
!=
NULL
)
{
if
(
pOper
!=
NULL
&&
pOper
->
pMsg
!=
NULL
)
{
sdbTrace
(
"app:%p:%p, msg is processed, result:%s"
,
pOper
->
pMsg
->
rpcMsg
.
ahandle
,
pOper
->
pMsg
,
sdbTrace
(
"app:%p:%p, msg is processed, result:%s"
,
pOper
->
pMsg
->
rpcMsg
.
ahandle
,
pOper
->
pMsg
,
tstrerror
(
pOper
->
retCode
));
tstrerror
(
pOper
->
retCode
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录