Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
66bb5518
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
66bb5518
编写于
3月 08, 2023
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/main' into fix/3.0_merge_main
上级
4c8bab7e
72680094
变更
31
隐藏空白更改
内联
并排
Showing
31 changed file
with
183 addition
and
85 deletion
+183
-85
cmake/taosadapter_CMakeLists.txt.in
cmake/taosadapter_CMakeLists.txt.in
+1
-1
cmake/taostools_CMakeLists.txt.in
cmake/taostools_CMakeLists.txt.in
+1
-1
docs/zh/08-connector/30-python.mdx
docs/zh/08-connector/30-python.mdx
+1
-1
include/common/tmsg.h
include/common/tmsg.h
+5
-3
include/util/tversion.h
include/util/tversion.h
+5
-3
source/client/src/clientImpl.c
source/client/src/clientImpl.c
+1
-0
source/client/src/clientMsgHandler.c
source/client/src/clientMsgHandler.c
+25
-16
source/common/src/systable.c
source/common/src/systable.c
+2
-0
source/common/src/tmsg.c
source/common/src/tmsg.c
+23
-1
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
+2
-0
source/dnode/mnode/impl/inc/mndVgroup.h
source/dnode/mnode/impl/inc/mndVgroup.h
+2
-1
source/dnode/mnode/impl/src/mndDnode.c
source/dnode/mnode/impl/src/mndDnode.c
+3
-0
source/dnode/mnode/impl/src/mndMnode.c
source/dnode/mnode/impl/src/mndMnode.c
+3
-0
source/dnode/mnode/impl/src/mndProfile.c
source/dnode/mnode/impl/src/mndProfile.c
+10
-3
source/dnode/mnode/impl/src/mndVgroup.c
source/dnode/mnode/impl/src/mndVgroup.c
+9
-7
source/dnode/mnode/impl/test/profile/profile.cpp
source/dnode/mnode/impl/test/profile/profile.cpp
+4
-2
source/dnode/mnode/impl/test/show/show.cpp
source/dnode/mnode/impl/test/show/show.cpp
+2
-1
source/dnode/vnode/src/inc/vnodeInt.h
source/dnode/vnode/src/inc/vnodeInt.h
+4
-3
source/dnode/vnode/src/tsdb/tsdbCache.c
source/dnode/vnode/src/tsdb/tsdbCache.c
+0
-3
source/dnode/vnode/src/vnd/vnodeSvr.c
source/dnode/vnode/src/vnd/vnodeSvr.c
+10
-0
source/libs/executor/src/executil.c
source/libs/executor/src/executil.c
+0
-2
source/libs/sync/inc/syncReplication.h
source/libs/sync/inc/syncReplication.h
+1
-1
source/libs/sync/src/syncMain.c
source/libs/sync/src/syncMain.c
+1
-1
source/libs/sync/src/syncPipeline.c
source/libs/sync/src/syncPipeline.c
+2
-1
source/libs/sync/src/syncReplication.c
source/libs/sync/src/syncReplication.c
+9
-0
source/libs/sync/src/syncSnapshot.c
source/libs/sync/src/syncSnapshot.c
+3
-7
source/libs/wal/src/walWrite.c
source/libs/wal/src/walWrite.c
+2
-2
source/util/src/tversion.c
source/util/src/tversion.c
+17
-0
tests/script/tsim/dnode/offline_reason.sim
tests/script/tsim/dnode/offline_reason.sim
+24
-24
tests/script/tsim/tag/tbNameIn.sim
tests/script/tsim/tag/tbNameIn.sim
+10
-0
tests/system-test/2-query/odbc.py
tests/system-test/2-query/odbc.py
+1
-1
未找到文件。
cmake/taosadapter_CMakeLists.txt.in
浏览文件 @
66bb5518
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
# taosadapter
# taosadapter
ExternalProject_Add(taosadapter
ExternalProject_Add(taosadapter
GIT_REPOSITORY https://github.com/taosdata/taosadapter.git
GIT_REPOSITORY https://github.com/taosdata/taosadapter.git
GIT_TAG
97d717d
GIT_TAG
d8059ff
SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter"
SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter"
BINARY_DIR ""
BINARY_DIR ""
#BUILD_IN_SOURCE TRUE
#BUILD_IN_SOURCE TRUE
...
...
cmake/taostools_CMakeLists.txt.in
浏览文件 @
66bb5518
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
# taos-tools
# taos-tools
ExternalProject_Add(taos-tools
ExternalProject_Add(taos-tools
GIT_REPOSITORY https://github.com/taosdata/taos-tools.git
GIT_REPOSITORY https://github.com/taosdata/taos-tools.git
GIT_TAG
0111c66
GIT_TAG
d4b3967
SOURCE_DIR "${TD_SOURCE_DIR}/tools/taos-tools"
SOURCE_DIR "${TD_SOURCE_DIR}/tools/taos-tools"
BINARY_DIR ""
BINARY_DIR ""
#BUILD_IN_SOURCE TRUE
#BUILD_IN_SOURCE TRUE
...
...
docs/zh/08-connector/30-python.mdx
浏览文件 @
66bb5518
...
@@ -32,7 +32,7 @@ Python 连接器的源码托管在 [GitHub](https://github.com/taosdata/taos-con
...
@@ -32,7 +32,7 @@ Python 连接器的源码托管在 [GitHub](https://github.com/taosdata/taos-con
### 准备
### 准备
1. 安装 Python。新近版本 taospy 包要求 Python 3.6+。早期版本 taospy 包要求 Python 3.7+。taos-ws-py 包要求 Python 3.7+。如果系统上还没有 Python 可参考 [Python BeginnersGuide](https://wiki.python.org/moin/BeginnersGuide/Download) 安装。
1. 安装 Python。新近版本 taospy 包要求 Python 3.6
.2
+。早期版本 taospy 包要求 Python 3.7+。taos-ws-py 包要求 Python 3.7+。如果系统上还没有 Python 可参考 [Python BeginnersGuide](https://wiki.python.org/moin/BeginnersGuide/Download) 安装。
2. 安装 [pip](https://pypi.org/project/pip/)。大部分情况下 Python 的安装包都自带了 pip 工具, 如果没有请参考 [pip documentation](https://pip.pypa.io/en/stable/installation/) 安装。
2. 安装 [pip](https://pypi.org/project/pip/)。大部分情况下 Python 的安装包都自带了 pip 工具, 如果没有请参考 [pip documentation](https://pip.pypa.io/en/stable/installation/) 安装。
3. 如果使用原生连接,还需[安装客户端驱动](../#安装客户端驱动)。客户端软件包含了 TDengine 客户端动态链接库(libtaos.so 或 taos.dll) 和 TDengine CLI。
3. 如果使用原生连接,还需[安装客户端驱动](../#安装客户端驱动)。客户端软件包含了 TDengine 客户端动态链接库(libtaos.so 或 taos.dll) 和 TDengine CLI。
...
...
include/common/tmsg.h
浏览文件 @
66bb5518
...
@@ -612,6 +612,7 @@ typedef struct {
...
@@ -612,6 +612,7 @@ typedef struct {
char
user
[
TSDB_USER_LEN
];
char
user
[
TSDB_USER_LEN
];
char
passwd
[
TSDB_PASSWORD_LEN
];
char
passwd
[
TSDB_PASSWORD_LEN
];
int64_t
startTime
;
int64_t
startTime
;
char
sVer
[
TSDB_VERSION_LEN
];
}
SConnectReq
;
}
SConnectReq
;
int32_t
tSerializeSConnectReq
(
void
*
buf
,
int32_t
bufLen
,
SConnectReq
*
pReq
);
int32_t
tSerializeSConnectReq
(
void
*
buf
,
int32_t
bufLen
,
SConnectReq
*
pReq
);
...
@@ -1291,9 +1292,10 @@ int32_t tSerializeSDropIdxReq(void* buf, int32_t bufLen, SDropIndexReq* pReq);
...
@@ -1291,9 +1292,10 @@ int32_t tSerializeSDropIdxReq(void* buf, int32_t bufLen, SDropIndexReq* pReq);
int32_t
tDeserializeSDropIdxReq
(
void
*
buf
,
int32_t
bufLen
,
SDropIndexReq
*
pReq
);
int32_t
tDeserializeSDropIdxReq
(
void
*
buf
,
int32_t
bufLen
,
SDropIndexReq
*
pReq
);
typedef
struct
{
typedef
struct
{
int64_t
dbUid
;
int64_t
dbUid
;
char
db
[
TSDB_DB_FNAME_LEN
];
char
db
[
TSDB_DB_FNAME_LEN
];
int64_t
compactStartTime
;
int64_t
compactStartTime
;
STimeWindow
tw
;
}
SCompactVnodeReq
;
}
SCompactVnodeReq
;
int32_t
tSerializeSCompactVnodeReq
(
void
*
buf
,
int32_t
bufLen
,
SCompactVnodeReq
*
pReq
);
int32_t
tSerializeSCompactVnodeReq
(
void
*
buf
,
int32_t
bufLen
,
SCompactVnodeReq
*
pReq
);
...
...
include/util/tversion.h
浏览文件 @
66bb5518
...
@@ -13,8 +13,8 @@
...
@@ -13,8 +13,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
#ifndef _TD_UTIL_VERSION_H_
#ifndef _TD_UTIL_
T
VERSION_H_
#define _TD_UTIL_VERSION_H_
#define _TD_UTIL_
T
VERSION_H_
#include "os.h"
#include "os.h"
...
@@ -25,9 +25,11 @@ extern "C" {
...
@@ -25,9 +25,11 @@ extern "C" {
int32_t
taosVersionStrToInt
(
const
char
*
vstr
,
int32_t
*
vint
);
int32_t
taosVersionStrToInt
(
const
char
*
vstr
,
int32_t
*
vint
);
int32_t
taosVersionIntToStr
(
int32_t
vint
,
char
*
vstr
,
int32_t
len
);
int32_t
taosVersionIntToStr
(
int32_t
vint
,
char
*
vstr
,
int32_t
len
);
int32_t
taosCheckVersionCompatible
(
int32_t
clientVer
,
int32_t
serverVer
,
int32_t
comparedSegments
);
int32_t
taosCheckVersionCompatible
(
int32_t
clientVer
,
int32_t
serverVer
,
int32_t
comparedSegments
);
int32_t
taosCheckVersionCompatibleFromStr
(
const
char
*
pClientVersion
,
const
char
*
pServerVersion
,
int32_t
comparedSegments
);
#ifdef __cplusplus
#ifdef __cplusplus
}
}
#endif
#endif
#endif
/*_TD_UTIL_VERSION_H_*/
#endif
/*_TD_UTIL_
T
VERSION_H_*/
source/client/src/clientImpl.c
浏览文件 @
66bb5518
...
@@ -1307,6 +1307,7 @@ static SMsgSendInfo* buildConnectMsg(SRequestObj* pRequest) {
...
@@ -1307,6 +1307,7 @@ static SMsgSendInfo* buildConnectMsg(SRequestObj* pRequest) {
tstrncpy
(
connectReq
.
app
,
appInfo
.
appName
,
sizeof
(
connectReq
.
app
));
tstrncpy
(
connectReq
.
app
,
appInfo
.
appName
,
sizeof
(
connectReq
.
app
));
tstrncpy
(
connectReq
.
user
,
pObj
->
user
,
sizeof
(
connectReq
.
user
));
tstrncpy
(
connectReq
.
user
,
pObj
->
user
,
sizeof
(
connectReq
.
user
));
tstrncpy
(
connectReq
.
passwd
,
pObj
->
pass
,
sizeof
(
connectReq
.
passwd
));
tstrncpy
(
connectReq
.
passwd
,
pObj
->
pass
,
sizeof
(
connectReq
.
passwd
));
tstrncpy
(
connectReq
.
sVer
,
version
,
sizeof
(
connectReq
.
sVer
));
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
void
*
pReq
=
taosMemoryMalloc
(
contLen
);
void
*
pReq
=
taosMemoryMalloc
(
contLen
);
...
...
source/client/src/clientMsgHandler.c
浏览文件 @
66bb5518
...
@@ -18,10 +18,12 @@
...
@@ -18,10 +18,12 @@
#include "clientLog.h"
#include "clientLog.h"
#include "os.h"
#include "os.h"
#include "query.h"
#include "query.h"
#include "systable.h"
#include "tdatablock.h"
#include "tdef.h"
#include "tdef.h"
#include "tglobal.h"
#include "tname.h"
#include "tname.h"
#include "tdatablock.h"
#include "tversion.h"
#include "systable.h"
static
void
setErrno
(
SRequestObj
*
pRequest
,
int32_t
code
)
{
static
void
setErrno
(
SRequestObj
*
pRequest
,
int32_t
code
)
{
pRequest
->
code
=
code
;
pRequest
->
code
=
code
;
...
@@ -47,11 +49,11 @@ int32_t genericRspCallback(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -47,11 +49,11 @@ int32_t genericRspCallback(void* param, SDataBuf* pMsg, int32_t code) {
}
}
int32_t
processConnectRsp
(
void
*
param
,
SDataBuf
*
pMsg
,
int32_t
code
)
{
int32_t
processConnectRsp
(
void
*
param
,
SDataBuf
*
pMsg
,
int32_t
code
)
{
SRequestObj
*
pRequest
=
acquireRequest
(
*
(
int64_t
*
)
param
);
SRequestObj
*
pRequest
=
acquireRequest
(
*
(
int64_t
*
)
param
);
if
(
NULL
==
pRequest
)
{
if
(
NULL
==
pRequest
)
{
goto
End
;
goto
End
;
}
}
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
setErrno
(
pRequest
,
code
);
setErrno
(
pRequest
,
code
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
...
@@ -65,7 +67,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -65,7 +67,7 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
tsem_post
(
&
pRequest
->
body
.
rspSem
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
goto
End
;
goto
End
;
}
}
SConnectRsp
connectRsp
=
{
0
};
SConnectRsp
connectRsp
=
{
0
};
if
(
tDeserializeSConnectRsp
(
pMsg
->
pData
,
pMsg
->
len
,
&
connectRsp
)
!=
0
)
{
if
(
tDeserializeSConnectRsp
(
pMsg
->
pData
,
pMsg
->
len
,
&
connectRsp
)
!=
0
)
{
code
=
TSDB_CODE_TSC_INVALID_VERSION
;
code
=
TSDB_CODE_TSC_INVALID_VERSION
;
...
@@ -74,6 +76,12 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -74,6 +76,12 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
goto
End
;
goto
End
;
}
}
if
((
code
=
taosCheckVersionCompatibleFromStr
(
version
,
connectRsp
.
sVer
,
2
))
!=
0
)
{
setErrno
(
pRequest
,
code
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
goto
End
;
}
int32_t
now
=
taosGetTimestampSec
();
int32_t
now
=
taosGetTimestampSec
();
int32_t
delta
=
abs
(
now
-
connectRsp
.
svrTimestamp
);
int32_t
delta
=
abs
(
now
-
connectRsp
.
svrTimestamp
);
if
(
delta
>
timestampDeltaLimit
)
{
if
(
delta
>
timestampDeltaLimit
)
{
...
@@ -127,14 +135,14 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -127,14 +135,14 @@ int32_t processConnectRsp(void* param, SDataBuf* pMsg, int32_t code) {
tscDebug
(
"0x%"
PRIx64
" clusterId:%"
PRId64
", totalConn:%"
PRId64
,
pRequest
->
requestId
,
connectRsp
.
clusterId
,
tscDebug
(
"0x%"
PRIx64
" clusterId:%"
PRId64
", totalConn:%"
PRId64
,
pRequest
->
requestId
,
connectRsp
.
clusterId
,
pTscObj
->
pAppInfo
->
numOfConns
);
pTscObj
->
pAppInfo
->
numOfConns
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
tsem_post
(
&
pRequest
->
body
.
rspSem
);
End:
End:
if
(
pRequest
)
{
if
(
pRequest
)
{
releaseRequest
(
pRequest
->
self
);
releaseRequest
(
pRequest
->
self
);
}
}
taosMemoryFree
(
param
);
taosMemoryFree
(
param
);
taosMemoryFree
(
pMsg
->
pEpSet
);
taosMemoryFree
(
pMsg
->
pEpSet
);
taosMemoryFree
(
pMsg
->
pData
);
taosMemoryFree
(
pMsg
->
pData
);
...
@@ -166,18 +174,18 @@ int32_t processCreateDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -166,18 +174,18 @@ int32_t processCreateDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
struct
SCatalog
*
pCatalog
=
NULL
;
struct
SCatalog
*
pCatalog
=
NULL
;
int32_t
code
=
catalogGetHandle
(
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
,
&
pCatalog
);
int32_t
code
=
catalogGetHandle
(
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
,
&
pCatalog
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
SRequestConnInfo
conn
=
{.
pTrans
=
pTscObj
->
pAppInfo
->
pTransporter
,
SRequestConnInfo
conn
=
{.
pTrans
=
pTscObj
->
pAppInfo
->
pTransporter
,
.
requestId
=
pRequest
->
requestId
,
.
requestId
=
pRequest
->
requestId
,
.
requestObjRefId
=
pRequest
->
self
,
.
requestObjRefId
=
pRequest
->
self
,
.
mgmtEps
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
)};
.
mgmtEps
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
)};
char
dbFName
[
TSDB_DB_FNAME_LEN
];
char
dbFName
[
TSDB_DB_FNAME_LEN
];
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_INFORMATION_SCHEMA_DB
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_INFORMATION_SCHEMA_DB
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_PERFORMANCE_SCHEMA_DB
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_PERFORMANCE_SCHEMA_DB
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
}
}
}
}
if
(
pRequest
->
body
.
queryFp
)
{
if
(
pRequest
->
body
.
queryFp
)
{
...
@@ -197,7 +205,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -197,7 +205,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
tDeserializeSUseDbRsp
(
pMsg
->
pData
,
pMsg
->
len
,
&
usedbRsp
);
tDeserializeSUseDbRsp
(
pMsg
->
pData
,
pMsg
->
len
,
&
usedbRsp
);
struct
SCatalog
*
pCatalog
=
NULL
;
struct
SCatalog
*
pCatalog
=
NULL
;
if
(
usedbRsp
.
vgVersion
>=
0
)
{
// cached in local
if
(
usedbRsp
.
vgVersion
>=
0
)
{
// cached in local
uint64_t
clusterId
=
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
;
uint64_t
clusterId
=
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
;
int32_t
code1
=
catalogGetHandle
(
clusterId
,
&
pCatalog
);
int32_t
code1
=
catalogGetHandle
(
clusterId
,
&
pCatalog
);
if
(
code1
!=
TSDB_CODE_SUCCESS
)
{
if
(
code1
!=
TSDB_CODE_SUCCESS
)
{
...
@@ -289,7 +297,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -289,7 +297,7 @@ int32_t processUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
}
}
int32_t
processCreateSTableRsp
(
void
*
param
,
SDataBuf
*
pMsg
,
int32_t
code
)
{
int32_t
processCreateSTableRsp
(
void
*
param
,
SDataBuf
*
pMsg
,
int32_t
code
)
{
if
(
pMsg
==
NULL
||
param
==
NULL
)
{
if
(
pMsg
==
NULL
||
param
==
NULL
)
{
return
TSDB_CODE_TSC_INVALID_INPUT
;
return
TSDB_CODE_TSC_INVALID_INPUT
;
}
}
SRequestObj
*
pRequest
=
param
;
SRequestObj
*
pRequest
=
param
;
...
@@ -344,13 +352,13 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
...
@@ -344,13 +352,13 @@ int32_t processDropDbRsp(void* param, SDataBuf* pMsg, int32_t code) {
int32_t
code
=
catalogGetHandle
(
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
,
&
pCatalog
);
int32_t
code
=
catalogGetHandle
(
pRequest
->
pTscObj
->
pAppInfo
->
clusterId
,
&
pCatalog
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
catalogRemoveDB
(
pCatalog
,
dropdbRsp
.
db
,
dropdbRsp
.
uid
);
catalogRemoveDB
(
pCatalog
,
dropdbRsp
.
db
,
dropdbRsp
.
uid
);
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
STscObj
*
pTscObj
=
pRequest
->
pTscObj
;
SRequestConnInfo
conn
=
{.
pTrans
=
pTscObj
->
pAppInfo
->
pTransporter
,
SRequestConnInfo
conn
=
{.
pTrans
=
pTscObj
->
pAppInfo
->
pTransporter
,
.
requestId
=
pRequest
->
requestId
,
.
requestId
=
pRequest
->
requestId
,
.
requestObjRefId
=
pRequest
->
self
,
.
requestObjRefId
=
pRequest
->
self
,
.
mgmtEps
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
)};
.
mgmtEps
=
getEpSet_s
(
&
pTscObj
->
pAppInfo
->
mgmtEp
)};
char
dbFName
[
TSDB_DB_FNAME_LEN
];
char
dbFName
[
TSDB_DB_FNAME_LEN
];
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_INFORMATION_SCHEMA_DB
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_INFORMATION_SCHEMA_DB
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
catalogRefreshDBVgInfo
(
pCatalog
,
&
conn
,
dbFName
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_PERFORMANCE_SCHEMA_DB
);
snprintf
(
dbFName
,
sizeof
(
dbFName
)
-
1
,
"%d.%s"
,
pTscObj
->
acctId
,
TSDB_PERFORMANCE_SCHEMA_DB
);
...
@@ -474,8 +482,9 @@ static int32_t buildShowVariablesRsp(SArray* pVars, SRetrieveTableRsp** pRsp) {
...
@@ -474,8 +482,9 @@ static int32_t buildShowVariablesRsp(SArray* pVars, SRetrieveTableRsp** pRsp) {
int32_t
len
=
blockEncode
(
pBlock
,
(
*
pRsp
)
->
data
,
SHOW_VARIABLES_RESULT_COLS
);
int32_t
len
=
blockEncode
(
pBlock
,
(
*
pRsp
)
->
data
,
SHOW_VARIABLES_RESULT_COLS
);
blockDataDestroy
(
pBlock
);
blockDataDestroy
(
pBlock
);
if
(
len
!=
rspSize
-
sizeof
(
SRetrieveTableRsp
)){
if
(
len
!=
rspSize
-
sizeof
(
SRetrieveTableRsp
))
{
uError
(
"buildShowVariablesRsp error, len:%d != rspSize - sizeof(SRetrieveTableRsp):%"
PRIu64
,
len
,
(
uint64_t
)
(
rspSize
-
sizeof
(
SRetrieveTableRsp
)));
uError
(
"buildShowVariablesRsp error, len:%d != rspSize - sizeof(SRetrieveTableRsp):%"
PRIu64
,
len
,
(
uint64_t
)(
rspSize
-
sizeof
(
SRetrieveTableRsp
)));
return
TSDB_CODE_TSC_INVALID_INPUT
;
return
TSDB_CODE_TSC_INVALID_INPUT
;
}
}
...
...
source/common/src/systable.c
浏览文件 @
66bb5518
...
@@ -33,6 +33,7 @@ static const SSysDbTableSchema dnodesSchema[] = {
...
@@ -33,6 +33,7 @@ static const SSysDbTableSchema dnodesSchema[] = {
{.
name
=
"support_vnodes"
,
.
bytes
=
2
,
.
type
=
TSDB_DATA_TYPE_SMALLINT
,
.
sysInfo
=
true
},
{.
name
=
"support_vnodes"
,
.
bytes
=
2
,
.
type
=
TSDB_DATA_TYPE_SMALLINT
,
.
sysInfo
=
true
},
{.
name
=
"status"
,
.
bytes
=
10
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"status"
,
.
bytes
=
10
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"create_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
{.
name
=
"create_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
{.
name
=
"reboot_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
{.
name
=
"note"
,
.
bytes
=
256
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"note"
,
.
bytes
=
256
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
};
};
...
@@ -42,6 +43,7 @@ static const SSysDbTableSchema mnodesSchema[] = {
...
@@ -42,6 +43,7 @@ static const SSysDbTableSchema mnodesSchema[] = {
{.
name
=
"role"
,
.
bytes
=
12
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"role"
,
.
bytes
=
12
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"status"
,
.
bytes
=
9
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"status"
,
.
bytes
=
9
+
VARSTR_HEADER_SIZE
,
.
type
=
TSDB_DATA_TYPE_VARCHAR
,
.
sysInfo
=
true
},
{.
name
=
"create_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
{.
name
=
"create_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
{.
name
=
"reboot_time"
,
.
bytes
=
8
,
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
,
.
sysInfo
=
true
},
};
};
static
const
SSysDbTableSchema
modulesSchema
[]
=
{
static
const
SSysDbTableSchema
modulesSchema
[]
=
{
...
...
source/common/src/tmsg.c
浏览文件 @
66bb5518
...
@@ -3741,6 +3741,7 @@ int32_t tSerializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *pReq) {
...
@@ -3741,6 +3741,7 @@ int32_t tSerializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *pReq) {
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
user
)
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
user
)
<
0
)
return
-
1
;
if
(
tEncodeCStrWithLen
(
&
encoder
,
pReq
->
passwd
,
TSDB_PASSWORD_LEN
)
<
0
)
return
-
1
;
if
(
tEncodeCStrWithLen
(
&
encoder
,
pReq
->
passwd
,
TSDB_PASSWORD_LEN
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
startTime
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
startTime
)
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
sVer
)
<
0
)
return
-
1
;
tEndEncode
(
&
encoder
);
tEndEncode
(
&
encoder
);
int32_t
tlen
=
encoder
.
pos
;
int32_t
tlen
=
encoder
.
pos
;
...
@@ -3760,6 +3761,12 @@ int32_t tDeserializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *pReq) {
...
@@ -3760,6 +3761,12 @@ int32_t tDeserializeSConnectReq(void *buf, int32_t bufLen, SConnectReq *pReq) {
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
user
)
<
0
)
return
-
1
;
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
user
)
<
0
)
return
-
1
;
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
passwd
)
<
0
)
return
-
1
;
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
passwd
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
startTime
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
startTime
)
<
0
)
return
-
1
;
// Check the client version from version 3.0.3.0
if
(
tDecodeIsEnd
(
&
decoder
))
{
tDecoderClear
(
&
decoder
);
return
TSDB_CODE_VERSION_NOT_COMPATIBLE
;
}
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
sVer
)
<
0
)
return
-
1
;
tEndDecode
(
&
decoder
);
tEndDecode
(
&
decoder
);
tDecoderClear
(
&
decoder
);
tDecoderClear
(
&
decoder
);
...
@@ -4108,6 +4115,11 @@ int32_t tSerializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq *
...
@@ -4108,6 +4115,11 @@ int32_t tSerializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq *
if
(
tEncodeI64
(
&
encoder
,
pReq
->
dbUid
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
dbUid
)
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
db
)
<
0
)
return
-
1
;
if
(
tEncodeCStr
(
&
encoder
,
pReq
->
db
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
compactStartTime
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
compactStartTime
)
<
0
)
return
-
1
;
// 1.1 add tw.skey and tw.ekey
if
(
tEncodeI64
(
&
encoder
,
pReq
->
tw
.
skey
)
<
0
)
return
-
1
;
if
(
tEncodeI64
(
&
encoder
,
pReq
->
tw
.
ekey
)
<
0
)
return
-
1
;
tEndEncode
(
&
encoder
);
tEndEncode
(
&
encoder
);
int32_t
tlen
=
encoder
.
pos
;
int32_t
tlen
=
encoder
.
pos
;
...
@@ -4120,11 +4132,21 @@ int32_t tDeserializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq
...
@@ -4120,11 +4132,21 @@ int32_t tDeserializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq
tDecoderInit
(
&
decoder
,
buf
,
bufLen
);
tDecoderInit
(
&
decoder
,
buf
,
bufLen
);
if
(
tStartDecode
(
&
decoder
)
<
0
)
return
-
1
;
if
(
tStartDecode
(
&
decoder
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
dbUid
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
dbUid
)
<
0
)
return
-
1
;
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
db
)
<
0
)
return
-
1
;
if
(
tDecodeCStrTo
(
&
decoder
,
pReq
->
db
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
compactStartTime
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
compactStartTime
)
<
0
)
return
-
1
;
tEndDecode
(
&
decoder
);
// 1.1
if
(
tDecodeIsEnd
(
&
decoder
))
{
pReq
->
tw
.
skey
=
TSKEY_MIN
;
pReq
->
tw
.
ekey
=
TSKEY_MAX
;
}
else
{
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
tw
.
skey
)
<
0
)
return
-
1
;
if
(
tDecodeI64
(
&
decoder
,
&
pReq
->
tw
.
ekey
)
<
0
)
return
-
1
;
}
tEndDecode
(
&
decoder
);
tDecoderClear
(
&
decoder
);
tDecoderClear
(
&
decoder
);
return
0
;
return
0
;
}
}
...
...
source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
浏览文件 @
66bb5518
...
@@ -20,6 +20,8 @@ void vmGetVnodeLoads(SVnodeMgmt *pMgmt, SMonVloadInfo *pInfo, bool isReset) {
...
@@ -20,6 +20,8 @@ void vmGetVnodeLoads(SVnodeMgmt *pMgmt, SMonVloadInfo *pInfo, bool isReset) {
pInfo
->
pVloads
=
taosArrayInit
(
pMgmt
->
state
.
totalVnodes
,
sizeof
(
SVnodeLoad
));
pInfo
->
pVloads
=
taosArrayInit
(
pMgmt
->
state
.
totalVnodes
,
sizeof
(
SVnodeLoad
));
if
(
pInfo
->
pVloads
==
NULL
)
return
;
if
(
pInfo
->
pVloads
==
NULL
)
return
;
tfsUpdateSize
(
pMgmt
->
pTfs
);
taosThreadRwlockRdlock
(
&
pMgmt
->
lock
);
taosThreadRwlockRdlock
(
&
pMgmt
->
lock
);
void
*
pIter
=
taosHashIterate
(
pMgmt
->
hash
,
NULL
);
void
*
pIter
=
taosHashIterate
(
pMgmt
->
hash
,
NULL
);
...
...
source/dnode/mnode/impl/inc/mndVgroup.h
浏览文件 @
66bb5518
...
@@ -43,7 +43,8 @@ int32_t mndAddDropVnodeAction(SMnode *, STrans *pTrans, SDbObj *pDb, SVgObj *pVg
...
@@ -43,7 +43,8 @@ int32_t mndAddDropVnodeAction(SMnode *, STrans *pTrans, SDbObj *pDb, SVgObj *pVg
int32_t
mndSetMoveVgroupsInfoToTrans
(
SMnode
*
,
STrans
*
pTrans
,
int32_t
dropDnodeId
,
bool
force
);
int32_t
mndSetMoveVgroupsInfoToTrans
(
SMnode
*
,
STrans
*
pTrans
,
int32_t
dropDnodeId
,
bool
force
);
int32_t
mndBuildAlterVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pOldDb
,
SDbObj
*
pNewDb
,
SVgObj
*
pVgroup
,
int32_t
mndBuildAlterVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pOldDb
,
SDbObj
*
pNewDb
,
SVgObj
*
pVgroup
,
SArray
*
pArray
);
SArray
*
pArray
);
int32_t
mndBuildCompactVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int64_t
compactTs
);
int32_t
mndBuildCompactVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int64_t
compactTs
,
STimeWindow
tw
);
void
*
mndBuildCreateVnodeReq
(
SMnode
*
,
SDnodeObj
*
pDnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
);
void
*
mndBuildCreateVnodeReq
(
SMnode
*
,
SDnodeObj
*
pDnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
);
void
*
mndBuildDropVnodeReq
(
SMnode
*
,
SDnodeObj
*
pDnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
);
void
*
mndBuildDropVnodeReq
(
SMnode
*
,
SDnodeObj
*
pDnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
);
...
...
source/dnode/mnode/impl/src/mndDnode.c
浏览文件 @
66bb5518
...
@@ -1074,6 +1074,9 @@ static int32_t mndRetrieveDnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
...
@@ -1074,6 +1074,9 @@ static int32_t mndRetrieveDnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pDnode
->
createdTime
,
false
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pDnode
->
createdTime
,
false
);
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pDnode
->
rebootTime
,
false
);
char
*
b
=
taosMemoryCalloc
(
VARSTR_HEADER_SIZE
+
strlen
(
offlineReason
[
pDnode
->
offlineReason
])
+
1
,
1
);
char
*
b
=
taosMemoryCalloc
(
VARSTR_HEADER_SIZE
+
strlen
(
offlineReason
[
pDnode
->
offlineReason
])
+
1
,
1
);
STR_TO_VARSTR
(
b
,
online
?
""
:
offlineReason
[
pDnode
->
offlineReason
]);
STR_TO_VARSTR
(
b
,
online
?
""
:
offlineReason
[
pDnode
->
offlineReason
]);
...
...
source/dnode/mnode/impl/src/mndMnode.c
浏览文件 @
66bb5518
...
@@ -644,6 +644,9 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
...
@@ -644,6 +644,9 @@ static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock *pB
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pObj
->
createdTime
,
false
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pObj
->
createdTime
,
false
);
pColInfo
=
taosArrayGet
(
pBlock
->
pDataBlock
,
cols
++
);
colDataSetVal
(
pColInfo
,
numOfRows
,
(
const
char
*
)
&
pObj
->
stateStartTime
,
false
);
numOfRows
++
;
numOfRows
++
;
sdbRelease
(
pSdb
,
pObj
);
sdbRelease
(
pSdb
,
pObj
);
}
}
...
...
source/dnode/mnode/impl/src/mndProfile.c
浏览文件 @
66bb5518
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#include "mndStb.h"
#include "mndStb.h"
#include "mndUser.h"
#include "mndUser.h"
#include "tglobal.h"
#include "tglobal.h"
#include "version.h"
#include "
t
version.h"
typedef
struct
{
typedef
struct
{
uint32_t
id
;
uint32_t
id
;
...
@@ -221,11 +221,18 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
...
@@ -221,11 +221,18 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
char
ip
[
24
]
=
{
0
};
char
ip
[
24
]
=
{
0
};
const
STraceId
*
trace
=
&
pReq
->
info
.
traceId
;
const
STraceId
*
trace
=
&
pReq
->
info
.
traceId
;
if
(
tDeserializeSConnectReq
(
pReq
->
pCont
,
pReq
->
contLen
,
&
connReq
)
!=
0
)
{
if
(
(
code
=
tDeserializeSConnectReq
(
pReq
->
pCont
,
pReq
->
contLen
,
&
connReq
)
)
!=
0
)
{
terrno
=
TSDB_CODE_INVALID_MSG
;
terrno
=
(
-
1
==
code
?
TSDB_CODE_INVALID_MSG
:
code
)
;
goto
_OVER
;
goto
_OVER
;
}
}
if
((
code
=
taosCheckVersionCompatibleFromStr
(
connReq
.
sVer
,
version
,
2
))
!=
0
)
{
terrno
=
code
;
goto
_OVER
;
}
code
=
-
1
;
taosIp2String
(
pReq
->
info
.
conn
.
clientIp
,
ip
);
taosIp2String
(
pReq
->
info
.
conn
.
clientIp
,
ip
);
if
(
mndCheckOperPrivilege
(
pMnode
,
pReq
->
info
.
conn
.
user
,
MND_OPER_CONNECT
)
!=
0
)
{
if
(
mndCheckOperPrivilege
(
pMnode
,
pReq
->
info
.
conn
.
user
,
MND_OPER_CONNECT
)
!=
0
)
{
mGError
(
"user:%s, failed to login from %s since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
terrstr
());
mGError
(
"user:%s, failed to login from %s since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
terrstr
());
...
...
source/dnode/mnode/impl/src/mndVgroup.c
浏览文件 @
66bb5518
...
@@ -2209,11 +2209,12 @@ _OVER:
...
@@ -2209,11 +2209,12 @@ _OVER:
bool
mndVgroupInDb
(
SVgObj
*
pVgroup
,
int64_t
dbUid
)
{
return
!
pVgroup
->
isTsma
&&
pVgroup
->
dbUid
==
dbUid
;
}
bool
mndVgroupInDb
(
SVgObj
*
pVgroup
,
int64_t
dbUid
)
{
return
!
pVgroup
->
isTsma
&&
pVgroup
->
dbUid
==
dbUid
;
}
static
void
*
mndBuildCompactVnodeReq
(
SMnode
*
pMnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
,
static
void
*
mndBuildCompactVnodeReq
(
SMnode
*
pMnode
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int32_t
*
pContLen
,
int64_t
compactTs
,
int64_t
compactTs
)
{
STimeWindow
tw
)
{
SCompactVnodeReq
compactReq
=
{
0
};
SCompactVnodeReq
compactReq
=
{
0
};
compactReq
.
dbUid
=
pDb
->
uid
;
compactReq
.
dbUid
=
pDb
->
uid
;
compactReq
.
compactStartTime
=
compactTs
;
compactReq
.
compactStartTime
=
compactTs
;
compactReq
.
tw
=
tw
;
tstrncpy
(
compactReq
.
db
,
pDb
->
name
,
TSDB_DB_FNAME_LEN
);
tstrncpy
(
compactReq
.
db
,
pDb
->
name
,
TSDB_DB_FNAME_LEN
);
mInfo
(
"vgId:%d, build compact vnode config req"
,
pVgroup
->
vgId
);
mInfo
(
"vgId:%d, build compact vnode config req"
,
pVgroup
->
vgId
);
...
@@ -2239,13 +2240,13 @@ static void *mndBuildCompactVnodeReq(SMnode *pMnode, SDbObj *pDb, SVgObj *pVgrou
...
@@ -2239,13 +2240,13 @@ static void *mndBuildCompactVnodeReq(SMnode *pMnode, SDbObj *pDb, SVgObj *pVgrou
return
pReq
;
return
pReq
;
}
}
static
int32_t
mndAddCompactVnodeAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
static
int32_t
mndAddCompactVnodeAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int64_t
compactTs
,
int64_t
compactTs
)
{
STimeWindow
tw
)
{
STransAction
action
=
{
0
};
STransAction
action
=
{
0
};
action
.
epSet
=
mndGetVgroupEpset
(
pMnode
,
pVgroup
);
action
.
epSet
=
mndGetVgroupEpset
(
pMnode
,
pVgroup
);
int32_t
contLen
=
0
;
int32_t
contLen
=
0
;
void
*
pReq
=
mndBuildCompactVnodeReq
(
pMnode
,
pDb
,
pVgroup
,
&
contLen
,
compactTs
);
void
*
pReq
=
mndBuildCompactVnodeReq
(
pMnode
,
pDb
,
pVgroup
,
&
contLen
,
compactTs
,
tw
);
if
(
pReq
==
NULL
)
return
-
1
;
if
(
pReq
==
NULL
)
return
-
1
;
action
.
pCont
=
pReq
;
action
.
pCont
=
pReq
;
...
@@ -2260,7 +2261,8 @@ static int32_t mndAddCompactVnodeAction(SMnode *pMnode, STrans *pTrans, SDbObj *
...
@@ -2260,7 +2261,8 @@ static int32_t mndAddCompactVnodeAction(SMnode *pMnode, STrans *pTrans, SDbObj *
return
0
;
return
0
;
}
}
int32_t
mndBuildCompactVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int64_t
compactTs
)
{
int32_t
mndBuildCompactVgroupAction
(
SMnode
*
pMnode
,
STrans
*
pTrans
,
SDbObj
*
pDb
,
SVgObj
*
pVgroup
,
int64_t
compactTs
,
if
(
mndAddCompactVnodeAction
(
pMnode
,
pTrans
,
pDb
,
pVgroup
,
compactTs
)
!=
0
)
return
-
1
;
STimeWindow
tw
)
{
if
(
mndAddCompactVnodeAction
(
pMnode
,
pTrans
,
pDb
,
pVgroup
,
compactTs
,
tw
)
!=
0
)
return
-
1
;
return
0
;
return
0
;
}
}
\ No newline at end of file
source/dnode/mnode/impl/test/profile/profile.cpp
浏览文件 @
66bb5518
...
@@ -32,13 +32,14 @@ TEST_F(MndTestProfile, 01_ConnectMsg) {
...
@@ -32,13 +32,14 @@ TEST_F(MndTestProfile, 01_ConnectMsg) {
connectReq
.
pid
=
1234
;
connectReq
.
pid
=
1234
;
char
passwd
[]
=
"taosdata"
;
char
passwd
[]
=
"taosdata"
;
char
secretEncrypt
[
TSDB_PASSWORD_LEN
]
=
{
0
};
char
secretEncrypt
[
TSDB_PASSWORD_LEN
+
1
]
=
{
0
};
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
strcpy
(
connectReq
.
app
,
"mnode_test_profile"
);
strcpy
(
connectReq
.
app
,
"mnode_test_profile"
);
strcpy
(
connectReq
.
db
,
""
);
strcpy
(
connectReq
.
db
,
""
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
sVer
,
version
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
@@ -66,7 +67,7 @@ TEST_F(MndTestProfile, 01_ConnectMsg) {
...
@@ -66,7 +67,7 @@ TEST_F(MndTestProfile, 01_ConnectMsg) {
TEST_F
(
MndTestProfile
,
02
_ConnectMsg_InvalidDB
)
{
TEST_F
(
MndTestProfile
,
02
_ConnectMsg_InvalidDB
)
{
char
passwd
[]
=
"taosdata"
;
char
passwd
[]
=
"taosdata"
;
char
secretEncrypt
[
TSDB_PASSWORD_LEN
]
=
{
0
};
char
secretEncrypt
[
TSDB_PASSWORD_LEN
+
1
]
=
{
0
};
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
SConnectReq
connectReq
=
{
0
};
SConnectReq
connectReq
=
{
0
};
...
@@ -75,6 +76,7 @@ TEST_F(MndTestProfile, 02_ConnectMsg_InvalidDB) {
...
@@ -75,6 +76,7 @@ TEST_F(MndTestProfile, 02_ConnectMsg_InvalidDB) {
strcpy
(
connectReq
.
db
,
"invalid_db"
);
strcpy
(
connectReq
.
db
,
"invalid_db"
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
sVer
,
version
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
...
source/dnode/mnode/impl/test/show/show.cpp
浏览文件 @
66bb5518
...
@@ -55,7 +55,7 @@ TEST_F(MndTestShow, 02_ShowMsg_InvalidMsgStart) {
...
@@ -55,7 +55,7 @@ TEST_F(MndTestShow, 02_ShowMsg_InvalidMsgStart) {
TEST_F
(
MndTestShow
,
03
_ShowMsg_Conn
)
{
TEST_F
(
MndTestShow
,
03
_ShowMsg_Conn
)
{
char
passwd
[]
=
"taosdata"
;
char
passwd
[]
=
"taosdata"
;
char
secretEncrypt
[
TSDB_PASSWORD_LEN
]
=
{
0
};
char
secretEncrypt
[
TSDB_PASSWORD_LEN
+
1
]
=
{
0
};
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
taosEncryptPass_c
((
uint8_t
*
)
passwd
,
strlen
(
passwd
),
secretEncrypt
);
SConnectReq
connectReq
=
{
0
};
SConnectReq
connectReq
=
{
0
};
...
@@ -64,6 +64,7 @@ TEST_F(MndTestShow, 03_ShowMsg_Conn) {
...
@@ -64,6 +64,7 @@ TEST_F(MndTestShow, 03_ShowMsg_Conn) {
strcpy
(
connectReq
.
db
,
""
);
strcpy
(
connectReq
.
db
,
""
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
user
,
"root"
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
passwd
,
secretEncrypt
);
strcpy
(
connectReq
.
sVer
,
version
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
int32_t
contLen
=
tSerializeSConnectReq
(
NULL
,
0
,
&
connectReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
...
source/dnode/vnode/src/inc/vnodeInt.h
浏览文件 @
66bb5518
...
@@ -457,9 +457,10 @@ struct SCommitInfo {
...
@@ -457,9 +457,10 @@ struct SCommitInfo {
};
};
struct
SCompactInfo
{
struct
SCompactInfo
{
SVnode
*
pVnode
;
SVnode
*
pVnode
;
int32_t
flag
;
int32_t
flag
;
int64_t
commitID
;
int64_t
commitID
;
STimeWindow
tw
;
};
};
#ifdef __cplusplus
#ifdef __cplusplus
...
...
source/dnode/vnode/src/tsdb/tsdbCache.c
浏览文件 @
66bb5518
...
@@ -375,9 +375,6 @@ int32_t tsdbCacheInsertLast(SLRUCache *pCache, tb_uid_t uid, TSDBROW *row, STsdb
...
@@ -375,9 +375,6 @@ int32_t tsdbCacheInsertLast(SLRUCache *pCache, tb_uid_t uid, TSDBROW *row, STsdb
SLastCol
lastCol
=
{.
ts
=
keyTs
,
.
colVal
=
colVal
};
SLastCol
lastCol
=
{.
ts
=
keyTs
,
.
colVal
=
colVal
};
if
(
IS_VAR_DATA_TYPE
(
colVal
.
type
)
&&
colVal
.
value
.
nData
>
0
)
{
if
(
IS_VAR_DATA_TYPE
(
colVal
.
type
)
&&
colVal
.
value
.
nData
>
0
)
{
SLastCol
*
pLastCol
=
(
SLastCol
*
)
taosArrayGet
(
pLast
,
iCol
);
taosMemoryFree
(
pLastCol
->
colVal
.
value
.
pData
);
lastCol
.
colVal
.
value
.
pData
=
taosMemoryMalloc
(
colVal
.
value
.
nData
);
lastCol
.
colVal
.
value
.
pData
=
taosMemoryMalloc
(
colVal
.
value
.
nData
);
if
(
lastCol
.
colVal
.
value
.
pData
==
NULL
)
{
if
(
lastCol
.
colVal
.
value
.
pData
==
NULL
)
{
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
terrno
=
TSDB_CODE_OUT_OF_MEMORY
;
...
...
source/dnode/vnode/src/vnd/vnodeSvr.c
浏览文件 @
66bb5518
...
@@ -211,6 +211,11 @@ static int32_t vnodePreProcessSubmitMsg(SVnode *pVnode, SRpcMsg *pMsg) {
...
@@ -211,6 +211,11 @@ static int32_t vnodePreProcessSubmitMsg(SVnode *pVnode, SRpcMsg *pMsg) {
SDecoder
*
pCoder
=
&
(
SDecoder
){
0
};
SDecoder
*
pCoder
=
&
(
SDecoder
){
0
};
if
(
taosHton64
(((
SSubmitReq2Msg
*
)
pMsg
->
pCont
)
->
version
)
!=
1
)
{
code
=
TSDB_CODE_INVALID_MSG
;
TSDB_CHECK_CODE
(
code
,
lino
,
_exit
);
}
tDecoderInit
(
pCoder
,
(
uint8_t
*
)
pMsg
->
pCont
+
sizeof
(
SSubmitReq2Msg
),
pMsg
->
contLen
-
sizeof
(
SSubmitReq2Msg
));
tDecoderInit
(
pCoder
,
(
uint8_t
*
)
pMsg
->
pCont
+
sizeof
(
SSubmitReq2Msg
),
pMsg
->
contLen
-
sizeof
(
SSubmitReq2Msg
));
if
(
tStartDecode
(
pCoder
)
<
0
)
{
if
(
tStartDecode
(
pCoder
)
<
0
)
{
...
@@ -1218,6 +1223,11 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
...
@@ -1218,6 +1223,11 @@ static int32_t vnodeProcessSubmitReq(SVnode *pVnode, int64_t version, void *pReq
for
(
int32_t
i
=
0
;
i
<
TARRAY_SIZE
(
pSubmitReq
->
aSubmitTbData
);
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
TARRAY_SIZE
(
pSubmitReq
->
aSubmitTbData
);
++
i
)
{
SSubmitTbData
*
pSubmitTbData
=
taosArrayGet
(
pSubmitReq
->
aSubmitTbData
,
i
);
SSubmitTbData
*
pSubmitTbData
=
taosArrayGet
(
pSubmitReq
->
aSubmitTbData
,
i
);
if
(
pSubmitTbData
->
pCreateTbReq
&&
pSubmitTbData
->
pCreateTbReq
->
uid
==
0
)
{
code
=
TSDB_CODE_INVALID_MSG
;
goto
_exit
;
}
if
(
pSubmitTbData
->
flags
&
SUBMIT_REQ_COLUMN_DATA_FORMAT
)
{
if
(
pSubmitTbData
->
flags
&
SUBMIT_REQ_COLUMN_DATA_FORMAT
)
{
if
(
TARRAY_SIZE
(
pSubmitTbData
->
aCol
)
<=
0
)
{
if
(
TARRAY_SIZE
(
pSubmitTbData
->
aCol
)
<=
0
)
{
code
=
TSDB_CODE_INVALID_MSG
;
code
=
TSDB_CODE_INVALID_MSG
;
...
...
source/libs/executor/src/executil.c
浏览文件 @
66bb5518
...
@@ -957,9 +957,7 @@ static int32_t doFilterByTagCond(STableListInfo* pListInfo, SArray* pUidList, SN
...
@@ -957,9 +957,7 @@ static int32_t doFilterByTagCond(STableListInfo* pListInfo, SArray* pUidList, SN
STUidTagInfo
*
pInfo
=
taosArrayGet
(
pUidTagList
,
i
);
STUidTagInfo
*
pInfo
=
taosArrayGet
(
pUidTagList
,
i
);
taosArrayPush
(
pUidList
,
&
pInfo
->
uid
);
taosArrayPush
(
pUidList
,
&
pInfo
->
uid
);
}
}
terrno
=
0
;
terrno
=
0
;
goto
end
;
}
else
{
}
else
{
if
((
condType
==
FILTER_NO_LOGIC
||
condType
==
FILTER_AND
)
&&
status
!=
SFLT_NOT_INDEX
)
{
if
((
condType
==
FILTER_NO_LOGIC
||
condType
==
FILTER_AND
)
&&
status
!=
SFLT_NOT_INDEX
)
{
code
=
metaGetTableTagsByUids
(
metaHandle
,
pListInfo
->
suid
,
pUidTagList
);
code
=
metaGetTableTagsByUids
(
metaHandle
,
pListInfo
->
suid
,
pUidTagList
);
...
...
source/libs/sync/inc/syncReplication.h
浏览文件 @
66bb5518
...
@@ -51,7 +51,7 @@ int32_t syncNodeHeartbeatPeers(SSyncNode* pSyncNode);
...
@@ -51,7 +51,7 @@ int32_t syncNodeHeartbeatPeers(SSyncNode* pSyncNode);
int32_t
syncNodeSendHeartbeat
(
SSyncNode
*
pSyncNode
,
const
SRaftId
*
pDestId
,
SRpcMsg
*
pMsg
);
int32_t
syncNodeSendHeartbeat
(
SSyncNode
*
pSyncNode
,
const
SRaftId
*
pDestId
,
SRpcMsg
*
pMsg
);
int32_t
syncNodeReplicate
(
SSyncNode
*
pSyncNode
);
int32_t
syncNodeReplicate
(
SSyncNode
*
pSyncNode
);
int32_t
syncNodeReplicate
One
(
SSyncNode
*
pSyncNode
,
SRaftId
*
pDestId
,
bool
snapshot
);
int32_t
syncNodeReplicate
Reset
(
SSyncNode
*
pSyncNode
,
SRaftId
*
pDestId
);
int32_t
syncNodeReplicateWithoutLock
(
SSyncNode
*
pNode
);
int32_t
syncNodeReplicateWithoutLock
(
SSyncNode
*
pNode
);
int32_t
syncNodeSendAppendEntries
(
SSyncNode
*
pNode
,
const
SRaftId
*
destRaftId
,
SRpcMsg
*
pRpcMsg
);
int32_t
syncNodeSendAppendEntries
(
SSyncNode
*
pNode
,
const
SRaftId
*
destRaftId
,
SRpcMsg
*
pRpcMsg
);
...
...
source/libs/sync/src/syncMain.c
浏览文件 @
66bb5518
...
@@ -301,7 +301,7 @@ int32_t syncBeginSnapshot(int64_t rid, int64_t lastApplyIndex) {
...
@@ -301,7 +301,7 @@ int32_t syncBeginSnapshot(int64_t rid, int64_t lastApplyIndex) {
syncNodeRelease
(
pSyncNode
);
syncNodeRelease
(
pSyncNode
);
return
0
;
return
0
;
}
}
logRetention
=
TMAX
(
logRetention
,
lastApplyIndex
-
pSyncNode
->
minMatchIndex
);
logRetention
=
TMAX
(
logRetention
,
lastApplyIndex
-
pSyncNode
->
minMatchIndex
+
logRetention
);
}
}
_DEL_WAL:
_DEL_WAL:
...
...
source/libs/sync/src/syncPipeline.c
浏览文件 @
66bb5518
...
@@ -742,7 +742,8 @@ int32_t syncLogReplMgrProcessReplyAsRecovery(SSyncLogReplMgr* pMgr, SSyncNode* p
...
@@ -742,7 +742,8 @@ int32_t syncLogReplMgrProcessReplyAsRecovery(SSyncLogReplMgr* pMgr, SSyncNode* p
if
(
pMsg
->
matchIndex
<
pNode
->
pLogBuf
->
matchIndex
)
{
if
(
pMsg
->
matchIndex
<
pNode
->
pLogBuf
->
matchIndex
)
{
term
=
syncLogReplMgrGetPrevLogTerm
(
pMgr
,
pNode
,
index
+
1
);
term
=
syncLogReplMgrGetPrevLogTerm
(
pMgr
,
pNode
,
index
+
1
);
if
(
term
<
0
||
(
term
!=
pMsg
->
lastMatchTerm
&&
(
index
+
1
==
firstVer
||
index
==
firstVer
)))
{
if
((
index
+
1
<
firstVer
)
||
(
term
<
0
)
||
(
term
!=
pMsg
->
lastMatchTerm
&&
(
index
+
1
==
firstVer
||
index
==
firstVer
)))
{
ASSERT
(
term
>=
0
||
terrno
==
TSDB_CODE_WAL_LOG_NOT_EXIST
);
ASSERT
(
term
>=
0
||
terrno
==
TSDB_CODE_WAL_LOG_NOT_EXIST
);
if
(
syncNodeStartSnapshot
(
pNode
,
&
destId
)
<
0
)
{
if
(
syncNodeStartSnapshot
(
pNode
,
&
destId
)
<
0
)
{
sError
(
"vgId:%d, failed to start snapshot for peer dnode:%d"
,
pNode
->
vgId
,
DID
(
&
destId
));
sError
(
"vgId:%d, failed to start snapshot for peer dnode:%d"
,
pNode
->
vgId
,
DID
(
&
destId
));
...
...
source/libs/sync/src/syncReplication.c
浏览文件 @
66bb5518
...
@@ -48,6 +48,15 @@
...
@@ -48,6 +48,15 @@
int32_t
syncNodeMaybeSendAppendEntries
(
SSyncNode
*
pSyncNode
,
const
SRaftId
*
destRaftId
,
SRpcMsg
*
pRpcMsg
);
int32_t
syncNodeMaybeSendAppendEntries
(
SSyncNode
*
pSyncNode
,
const
SRaftId
*
destRaftId
,
SRpcMsg
*
pRpcMsg
);
int32_t
syncNodeReplicateReset
(
SSyncNode
*
pNode
,
SRaftId
*
pDestId
)
{
SSyncLogBuffer
*
pBuf
=
pNode
->
pLogBuf
;
taosThreadMutexLock
(
&
pBuf
->
mutex
);
SSyncLogReplMgr
*
pMgr
=
syncNodeGetLogReplMgr
(
pNode
,
pDestId
);
syncLogReplMgrReset
(
pMgr
);
taosThreadMutexUnlock
(
&
pBuf
->
mutex
);
return
0
;
}
int32_t
syncNodeReplicate
(
SSyncNode
*
pNode
)
{
int32_t
syncNodeReplicate
(
SSyncNode
*
pNode
)
{
SSyncLogBuffer
*
pBuf
=
pNode
->
pLogBuf
;
SSyncLogBuffer
*
pBuf
=
pNode
->
pLogBuf
;
taosThreadMutexLock
(
&
pBuf
->
mutex
);
taosThreadMutexLock
(
&
pBuf
->
mutex
);
...
...
source/libs/sync/src/syncSnapshot.c
浏览文件 @
66bb5518
...
@@ -992,8 +992,7 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
...
@@ -992,8 +992,7 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
if
(
pMsg
->
ack
==
SYNC_SNAPSHOT_SEQ_END
)
{
if
(
pMsg
->
ack
==
SYNC_SNAPSHOT_SEQ_END
)
{
syncLogRecvSyncSnapshotRsp
(
pSyncNode
,
pMsg
,
"process seq end"
);
syncLogRecvSyncSnapshotRsp
(
pSyncNode
,
pMsg
,
"process seq end"
);
snapshotSenderStop
(
pSender
,
true
);
snapshotSenderStop
(
pSender
,
true
);
SSyncLogReplMgr
*
pMgr
=
syncNodeGetLogReplMgr
(
pSyncNode
,
&
pMsg
->
srcId
);
syncNodeReplicateReset
(
pSyncNode
,
&
pMsg
->
srcId
);
syncLogReplMgrReset
(
pMgr
);
return
0
;
return
0
;
}
}
...
@@ -1018,8 +1017,7 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
...
@@ -1018,8 +1017,7 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
syncLogRecvSyncSnapshotRsp
(
pSyncNode
,
pMsg
,
"receive error ack"
);
syncLogRecvSyncSnapshotRsp
(
pSyncNode
,
pMsg
,
"receive error ack"
);
sSError
(
pSender
,
"snapshot sender receive error ack:%d, my seq:%d"
,
pMsg
->
ack
,
pSender
->
seq
);
sSError
(
pSender
,
"snapshot sender receive error ack:%d, my seq:%d"
,
pMsg
->
ack
,
pSender
->
seq
);
snapshotSenderStop
(
pSender
,
true
);
snapshotSenderStop
(
pSender
,
true
);
SSyncLogReplMgr
*
pMgr
=
syncNodeGetLogReplMgr
(
pSyncNode
,
&
pMsg
->
srcId
);
syncNodeReplicateReset
(
pSyncNode
,
&
pMsg
->
srcId
);
syncLogReplMgrReset
(
pMgr
);
return
-
1
;
return
-
1
;
}
}
...
@@ -1027,8 +1025,6 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
...
@@ -1027,8 +1025,6 @@ int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, const SRpcMsg *pRpcMsg) {
_ERROR:
_ERROR:
snapshotSenderStop
(
pSender
,
true
);
snapshotSenderStop
(
pSender
,
true
);
SSyncLogReplMgr
*
pMgr
=
syncNodeGetLogReplMgr
(
pSyncNode
,
&
pMsg
->
srcId
);
syncNodeReplicateReset
(
pSyncNode
,
&
pMsg
->
srcId
);
syncLogReplMgrReset
(
pMgr
);
return
-
1
;
return
-
1
;
}
}
source/libs/wal/src/walWrite.c
浏览文件 @
66bb5518
...
@@ -328,8 +328,8 @@ int32_t walEndSnapshot(SWal *pWal) {
...
@@ -328,8 +328,8 @@ int32_t walEndSnapshot(SWal *pWal) {
"), new tot size %"
PRId64
,
"), new tot size %"
PRId64
,
pWal
->
cfg
.
vgId
,
iter
->
firstVer
,
iter
->
fileSize
,
iter
->
closeTs
,
newTotSize
);
pWal
->
cfg
.
vgId
,
iter
->
firstVer
,
iter
->
fileSize
,
iter
->
closeTs
,
newTotSize
);
if
(((
pWal
->
cfg
.
retentionSize
==
0
)
||
(
pWal
->
cfg
.
retentionSize
!=
-
1
&&
newTotSize
>
pWal
->
cfg
.
retentionSize
))
||
if
(((
pWal
->
cfg
.
retentionSize
==
0
)
||
(
pWal
->
cfg
.
retentionSize
!=
-
1
&&
newTotSize
>
pWal
->
cfg
.
retentionSize
))
||
((
pWal
->
cfg
.
retentionPeriod
==
0
)
||
((
pWal
->
cfg
.
retentionPeriod
==
0
)
||
(
pWal
->
cfg
.
retentionPeriod
!=
-
1
&&
iter
->
closeTs
!=
-
1
&&
(
pWal
->
cfg
.
retentionPeriod
!=
-
1
&&
iter
->
closeTs
+
pWal
->
cfg
.
retentionPeriod
>
ts
)))
{
iter
->
closeTs
+
pWal
->
cfg
.
retentionPeriod
<
ts
)))
{
// delete according to file size or close time
// delete according to file size or close time
wDebug
(
"vgId:%d, check pass"
,
pWal
->
cfg
.
vgId
);
wDebug
(
"vgId:%d, check pass"
,
pWal
->
cfg
.
vgId
);
deleteCnt
++
;
deleteCnt
++
;
...
...
source/util/src/tversion.c
浏览文件 @
66bb5518
...
@@ -89,3 +89,20 @@ int32_t taosCheckVersionCompatible(int32_t clientVer, int32_t serverVer, int32_t
...
@@ -89,3 +89,20 @@ int32_t taosCheckVersionCompatible(int32_t clientVer, int32_t serverVer, int32_t
return
-
1
;
return
-
1
;
}
}
}
}
int32_t
taosCheckVersionCompatibleFromStr
(
const
char
*
pClientVersion
,
const
char
*
pServerVersion
,
int32_t
comparedSegments
)
{
int32_t
clientVersion
=
0
;
int32_t
serverVersion
=
0
;
int32_t
code
=
taosVersionStrToInt
(
pClientVersion
,
&
clientVersion
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
taosVersionStrToInt
(
pServerVersion
,
&
serverVersion
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
taosCheckVersionCompatible
(
clientVersion
,
serverVersion
,
comparedSegments
);
}
if
(
TSDB_CODE_SUCCESS
!=
code
)
{
code
=
terrno
;
}
return
code
;
}
\ No newline at end of file
tests/script/tsim/dnode/offline_reason.sim
浏览文件 @
66bb5518
...
@@ -8,10 +8,10 @@ sql connect
...
@@ -8,10 +8,10 @@ sql connect
sql create dnode $hostname port 7200
sql create dnode $hostname port 7200
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode2 off: $data(2)[
6
]
print dnode2 off: $data(2)[
7
]
if $data(2)[
6
] != @status not received@ then
if $data(2)[
7
] != @status not received@ then
return -1
return -1
endi
endi
...
@@ -50,9 +50,9 @@ step3:
...
@@ -50,9 +50,9 @@ step3:
return -1
return -1
endi
endi
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode2 off: $data(2)[
6
]
print dnode2 off: $data(2)[
7
]
if $data(2)[
6
] != @status msg timeout@ then
if $data(2)[
7
] != @status msg timeout@ then
goto step3
goto step3
endi
endi
...
@@ -77,9 +77,9 @@ step5:
...
@@ -77,9 +77,9 @@ step5:
endi
endi
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode2 off: $data(3)[
6
]
print dnode2 off: $data(3)[
7
]
if $data(3)[
6
] != @dnodeId not match@ then
if $data(3)[
7
] != @dnodeId not match@ then
goto step5
goto step5
endi
endi
...
@@ -98,10 +98,10 @@ step6:
...
@@ -98,10 +98,10 @@ step6:
endi
endi
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode2 off: $data(3)[
6
]
print dnode2 off: $data(3)[
7
]
print dnode3 off: $data(4)[6
]
print dnode3 off: $data(4)[6
7
if $data(4)[
6
] != @interval not match@ then
if $data(4)[
7
] != @interval not match@ then
goto step6
goto step6
endi
endi
...
@@ -120,11 +120,11 @@ step7:
...
@@ -120,11 +120,11 @@ step7:
endi
endi
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode3 off: $data(3)[
6
]
print dnode3 off: $data(3)[
7
]
print dnode4 off: $data(4)[
6
]
print dnode4 off: $data(4)[
7
]
print dnode5 off: $data(5)[
6
]
print dnode5 off: $data(5)[
7
]
if $data(5)[
6
] != @locale not match@ then
if $data(5)[
7
] != @locale not match@ then
goto step7
goto step7
endi
endi
...
@@ -143,12 +143,12 @@ step8:
...
@@ -143,12 +143,12 @@ step8:
endi
endi
sql select * from information_schema.ins_dnodes
sql select * from information_schema.ins_dnodes
print dnode1 off: $data(1)[
6
]
print dnode1 off: $data(1)[
7
]
print dnode3 off: $data(3)[
6
]
print dnode3 off: $data(3)[
7
]
print dnode4 off: $data(4)[
6
]
print dnode4 off: $data(4)[
7
]
print dnode5 off: $data(5)[
6
]
print dnode5 off: $data(5)[
7
]
print dnode6 off: $data(6)[
6
]
print dnode6 off: $data(6)[
7
]
if $data(6)[
6
] != @charset not match@ then
if $data(6)[
7
] != @charset not match@ then
goto step8
goto step8
endi
endi
...
...
tests/script/tsim/tag/tbNameIn.sim
浏览文件 @
66bb5518
...
@@ -99,4 +99,14 @@ if $rows != 7 then
...
@@ -99,4 +99,14 @@ if $rows != 7 then
return -1
return -1
endi
endi
sql select * from st1 where tbname in('tb1') and tbname in ('tb2');
if $rows != 0 then
return -1
endi
sql select * from st1 where tbname in ('tb1') and tbname != 'tb1';
if $rows != 0 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
system sh/exec.sh -n dnode1 -s stop -x SIGINT
tests/system-test/2-query/odbc.py
浏览文件 @
66bb5518
...
@@ -22,7 +22,7 @@ class TDTestCase:
...
@@ -22,7 +22,7 @@ class TDTestCase:
tdSql
.
execute
(
"insert into db.ctb using db.stb tags(1) (ts, c1) values (now, 1)"
)
tdSql
.
execute
(
"insert into db.ctb using db.stb tags(1) (ts, c1) values (now, 1)"
)
tdSql
.
query
(
"select count(*) from information_schema.ins_columns"
)
tdSql
.
query
(
"select count(*) from information_schema.ins_columns"
)
tdSql
.
checkData
(
0
,
0
,
2
69
)
tdSql
.
checkData
(
0
,
0
,
2
71
)
tdSql
.
query
(
"select * from information_schema.ins_columns where table_name = 'ntb'"
)
tdSql
.
query
(
"select * from information_schema.ins_columns where table_name = 'ntb'"
)
tdSql
.
checkRows
(
14
)
tdSql
.
checkRows
(
14
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录