Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e3129e4e
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看板
未验证
提交
e3129e4e
编写于
1月 16, 2020
作者:
H
haojun Liao
提交者:
GitHub
1月 16, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1137 from taosdata/feature/slguan
TBASE-1452 #1136
上级
1ab393c2
6d1209ec
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
130 addition
and
192 deletion
+130
-192
src/client/src/tscCache.c
src/client/src/tscCache.c
+0
-4
src/client/src/tscServer.c
src/client/src/tscServer.c
+69
-105
src/client/src/tscSql.c
src/client/src/tscSql.c
+2
-16
src/client/src/tscSystem.c
src/client/src/tscSystem.c
+0
-2
src/inc/tglobalcfg.h
src/inc/tglobalcfg.h
+1
-1
src/kit/shell/src/shellEngine.c
src/kit/shell/src/shellEngine.c
+16
-29
src/kit/shell/src/shellLinux.c
src/kit/shell/src/shellLinux.c
+3
-7
src/modules/monitor/src/monitorSystem.c
src/modules/monitor/src/monitorSystem.c
+0
-2
src/os/darwin/src/tdarwin.c
src/os/darwin/src/tdarwin.c
+1
-0
src/os/linux/src/tlinux.c
src/os/linux/src/tlinux.c
+1
-0
src/os/windows/src/twindows.c
src/os/windows/src/twindows.c
+1
-0
src/sdb/src/sdbEngine.c
src/sdb/src/sdbEngine.c
+2
-0
src/system/detail/src/mgmtShell.c
src/system/detail/src/mgmtShell.c
+32
-18
src/util/src/tglobalcfg.c
src/util/src/tglobalcfg.c
+2
-8
未找到文件。
src/client/src/tscCache.c
浏览文件 @
e3129e4e
...
...
@@ -96,11 +96,7 @@ void *taosAddConnIntoCache(void *handle, void *data, uint32_t ip, uint16_t port,
pObj
=
(
SConnCache
*
)
handle
;
if
(
pObj
==
NULL
||
pObj
->
maxSessions
==
0
)
return
NULL
;
#ifdef CLUSTER
if
(
data
==
NULL
||
ip
==
0
)
{
#else
if
(
data
==
NULL
)
{
#endif
tscTrace
(
"data:%p ip:%p:%d not valid, not added in cache"
,
data
,
ip
,
port
);
return
NULL
;
}
...
...
src/client/src/tscServer.c
浏览文件 @
e3129e4e
...
...
@@ -31,15 +31,9 @@
#define TSC_MGMT_VNODE 999
#ifdef CLUSTER
SIpStrList
tscMgmtIpList
;
int
tsMasterIndex
=
0
;
int
tsSlaveIndex
=
1
;
#else
int
tsMasterIndex
=
0
;
int
tsSlaveIndex
=
0
;
// slave == master for single node edition
uint32_t
tsServerIp
;
#endif
SIpStrList
tscMgmtIpList
;
int
tsMasterIndex
=
0
;
int
tsSlaveIndex
=
1
;
int
(
*
tscBuildMsg
[
TSDB_SQL_MAX
])(
SSqlObj
*
pSql
);
int
(
*
tscProcessMsgRsp
[
TSDB_SQL_MAX
])(
SSqlObj
*
pSql
);
...
...
@@ -49,15 +43,15 @@ int tscKeepConn[TSDB_SQL_MAX] = {0};
static
int32_t
minMsgSize
()
{
return
tsRpcHeadSize
+
sizeof
(
STaosDigest
);
}
#ifdef CLUSTER
void
tscPrintMgmtIp
()
{
if
(
tscMgmtIpList
.
numOfIps
<=
0
)
{
tscError
(
"invalid IP list:%d"
,
tscMgmtIpList
.
numOfIps
);
tscError
(
"invalid
mgmt
IP list:%d"
,
tscMgmtIpList
.
numOfIps
);
}
else
{
for
(
int
i
=
0
;
i
<
tscMgmtIpList
.
numOfIps
;
++
i
)
tscTrace
(
"mgmt index:%d ip:%s"
,
i
,
tscMgmtIpList
.
ipstr
[
i
]);
for
(
int
i
=
0
;
i
<
tscMgmtIpList
.
numOfIps
;
++
i
)
{
tscTrace
(
"mgmt index:%d ip:%s"
,
i
,
tscMgmtIpList
.
ipstr
[
i
]);
}
}
}
#endif
/*
* For each management node, try twice at least in case of poor network situation.
...
...
@@ -68,11 +62,7 @@ void tscPrintMgmtIp() {
*/
static
int32_t
tscGetMgmtConnMaxRetryTimes
()
{
int32_t
factor
=
2
;
#ifdef CLUSTER
return
tscMgmtIpList
.
numOfIps
*
factor
;
#else
return
1
*
factor
;
#endif
}
void
tscProcessHeartBeatRsp
(
void
*
param
,
TAOS_RES
*
tres
,
int
code
)
{
...
...
@@ -88,18 +78,30 @@ void tscProcessHeartBeatRsp(void *param, TAOS_RES *tres, int code) {
if
(
code
==
0
)
{
SHeartBeatRsp
*
pRsp
=
(
SHeartBeatRsp
*
)
pRes
->
pRsp
;
#ifdef CLUSTER
SIpList
*
pIpList
=
&
pRsp
->
ipList
;
tscMgmtIpList
.
numOfIps
=
pIpList
->
numOfIps
;
if
(
memcmp
(
tscMgmtIpList
.
ip
,
pIpList
->
ip
,
pIpList
->
numOfIps
*
4
)
!=
0
)
{
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
if
(
pIpList
->
numOfIps
!=
0
)
{
//heart beat from cluster edition
tscMgmtIpList
.
numOfIps
=
pIpList
->
numOfIps
;
if
(
memcmp
(
tscMgmtIpList
.
ip
,
pIpList
->
ip
,
pIpList
->
numOfIps
*
4
)
!=
0
)
{
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
}
tscTrace
(
"new mgmt IP list:"
);
tscPrintMgmtIp
();
}
}
else
{
//heart beat from edge edition
if
(
tscMgmtIpList
.
numOfIps
!=
2
)
{
strcpy
(
tscMgmtIpList
.
ipstr
[
0
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
0
]
=
inet_addr
(
tsMasterIp
);
strcpy
(
tscMgmtIpList
.
ipstr
[
1
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
1
]
=
inet_addr
(
tsMasterIp
);
tscTrace
(
"mgmt IP list:"
);
tscPrintMgmtIp
();
}
tscTrace
(
"new mgmt IP list:"
);
tscPrintMgmtIp
();
}
#endif
if
(
pRsp
->
killConnection
)
{
tscKillConnection
(
pObj
);
}
else
{
...
...
@@ -152,19 +154,12 @@ void tscProcessActivityTimer(void *handle, void *tmrId) {
void
tscGetConnToMgmt
(
SSqlObj
*
pSql
,
uint8_t
*
pCode
)
{
STscObj
*
pTscObj
=
pSql
->
pTscObj
;
#ifdef CLUSTER
if
(
pSql
->
retry
<
tscGetMgmtConnMaxRetryTimes
())
{
*
pCode
=
0
;
pSql
->
retry
++
;
pSql
->
index
=
pSql
->
index
%
tscMgmtIpList
.
numOfIps
;
if
(
pSql
->
cmd
.
command
>
TSDB_SQL_READ
&&
pSql
->
index
==
0
)
pSql
->
index
=
1
;
void
*
thandle
=
taosGetConnFromCache
(
tscConnCache
,
tscMgmtIpList
.
ip
[
pSql
->
index
],
TSC_MGMT_VNODE
,
pTscObj
->
user
);
#else
if
(
pSql
->
retry
<
tscGetMgmtConnMaxRetryTimes
())
{
*
pCode
=
0
;
pSql
->
retry
++
;
void
*
thandle
=
taosGetConnFromCache
(
tscConnCache
,
tsServerIp
,
TSC_MGMT_VNODE
,
pTscObj
->
user
);
#endif
if
(
thandle
==
NULL
)
{
SRpcConnInit
connInit
;
...
...
@@ -180,24 +175,15 @@ void tscGetConnToMgmt(SSqlObj *pSql, uint8_t *pCode) {
connInit
.
encrypt
=
0
;
connInit
.
secret
=
pSql
->
pTscObj
->
pass
;
#ifdef CLUSTER
connInit
.
peerIp
=
tscMgmtIpList
.
ipstr
[
pSql
->
index
];
#else
connInit
.
peerIp
=
tsMasterIp
;
#endif
thandle
=
taosOpenRpcConn
(
&
connInit
,
pCode
);
}
pSql
->
thandle
=
thandle
;
#ifdef CLUSTER
pSql
->
ip
=
tscMgmtIpList
.
ip
[
pSql
->
index
];
pSql
->
vnode
=
TSC_MGMT_VNODE
;
tscTrace
(
"%p mgmt index:%d ip:0x%x is picked up, pConn:%p"
,
pSql
,
pSql
->
index
,
tscMgmtIpList
.
ip
[
pSql
->
index
],
pSql
->
thandle
);
#else
pSql
->
ip
=
tsServerIp
;
pSql
->
vnode
=
TSC_MGMT_VNODE
;
#endif
}
// the pSql->res.code is the previous error(status) code.
...
...
@@ -242,11 +228,15 @@ void tscGetConnToVnode(SSqlObj *pSql, uint8_t *pCode) {
while
(
pSql
->
retry
<
pSql
->
maxRetry
)
{
(
pSql
->
retry
)
++
;
#ifdef CLUSTER
char
ipstr
[
40
]
=
{
0
};
if
(
pVPeersDesc
[
pSql
->
index
].
ip
==
0
)
{
(
pSql
->
index
)
=
(
pSql
->
index
+
1
)
%
TSDB_VNODES_SUPPORT
;
continue
;
/*
* Only the stand-alone version, ip is 0, at this time we use mastrIp
*/
//(pSql->index) = (pSql->index + 1) % TSDB_VNODES_SUPPORT;
//continue;
pVPeersDesc
[
pSql
->
index
].
ip
=
tscMgmtIpList
.
ip
[
0
];
}
*
pCode
=
TSDB_CODE_SUCCESS
;
...
...
@@ -276,31 +266,6 @@ void tscGetConnToVnode(SSqlObj *pSql, uint8_t *pCode) {
pSql
->
vnode
=
pVPeersDesc
[
pSql
->
index
].
vnode
;
tscTrace
(
"%p vnode:%d ip:%p index:%d is picked up, pConn:%p"
,
pSql
,
pVPeersDesc
[
pSql
->
index
].
vnode
,
pVPeersDesc
[
pSql
->
index
].
ip
,
pSql
->
index
,
pSql
->
thandle
);
#else
*
pCode
=
0
;
void
*
thandle
=
taosGetConnFromCache
(
tscConnCache
,
tsServerIp
,
pVPeersDesc
[
0
].
vnode
,
pTscObj
->
user
);
if
(
thandle
==
NULL
)
{
SRpcConnInit
connInit
;
memset
(
&
connInit
,
0
,
sizeof
(
connInit
));
connInit
.
cid
=
vidIndex
;
connInit
.
sid
=
0
;
connInit
.
spi
=
0
;
connInit
.
encrypt
=
0
;
connInit
.
meterId
=
pSql
->
pTscObj
->
user
;
connInit
.
peerId
=
htonl
((
pVPeersDesc
[
0
].
vnode
<<
TSDB_SHELL_VNODE_BITS
));
connInit
.
shandle
=
pVnodeConn
;
connInit
.
ahandle
=
pSql
;
connInit
.
peerIp
=
tsMasterIp
;
connInit
.
peerPort
=
tsVnodeShellPort
;
thandle
=
taosOpenRpcConn
(
&
connInit
,
pCode
);
vidIndex
=
(
vidIndex
+
1
)
%
tscNumOfThreads
;
}
pSql
->
thandle
=
thandle
;
pSql
->
ip
=
tsServerIp
;
pSql
->
vnode
=
pVPeersDesc
[
0
].
vnode
;
#endif
break
;
}
...
...
@@ -367,14 +332,25 @@ int tscSendMsgToServer(SSqlObj *pSql) {
return
code
;
}
#ifdef CLUSTER
void
tscProcessMgmtRedirect
(
SSqlObj
*
pSql
,
uint8_t
*
cont
)
{
SIpList
*
pIpList
=
(
SIpList
*
)(
cont
);
tscMgmtIpList
.
numOfIps
=
pIpList
->
numOfIps
;
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
tscTrace
(
"Update mgmt Ip, index:%d ip:%s"
,
i
,
tscMgmtIpList
.
ipstr
[
i
]);
if
(
pIpList
->
numOfIps
!=
0
)
{
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
tscTrace
(
"Update mgmt IP, index:%d ip:%s"
,
i
,
tscMgmtIpList
.
ipstr
[
i
]);
}
}
else
{
if
(
tscMgmtIpList
.
numOfIps
!=
2
)
{
strcpy
(
tscMgmtIpList
.
ipstr
[
0
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
0
]
=
inet_addr
(
tsMasterIp
);
strcpy
(
tscMgmtIpList
.
ipstr
[
1
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
1
]
=
inet_addr
(
tsMasterIp
);
tscTrace
(
"Update mgmt IP list:"
);
tscPrintMgmtIp
();
}
}
if
(
pSql
->
cmd
.
command
<
TSDB_SQL_READ
)
{
...
...
@@ -386,7 +362,6 @@ void tscProcessMgmtRedirect(SSqlObj *pSql, uint8_t *cont) {
tscPrintMgmtIp
();
}
#endif
void
*
tscProcessMsgFromServer
(
char
*
msg
,
void
*
ahandle
,
void
*
thandle
)
{
if
(
ahandle
==
NULL
)
return
NULL
;
...
...
@@ -421,12 +396,8 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
SMeterMetaInfo
*
pMeterMetaInfo
=
tscGetMeterMetaInfo
(
pCmd
,
0
);
if
(
msg
==
NULL
)
{
tscTrace
(
"%p no response from ip:0x%x"
,
pSql
,
pSql
->
ip
);
#ifdef CLUSTER
pSql
->
index
++
;
#else
// for single node situation, do NOT try next index
#endif
pSql
->
thandle
=
NULL
;
// todo taos_stop_query() in async model
/*
...
...
@@ -442,12 +413,7 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
// renew meter meta in case it is changed
if
(
pCmd
->
command
<
TSDB_SQL_FETCH
&&
pRes
->
code
!=
TSDB_CODE_QUERY_CANCELLED
)
{
#ifdef CLUSTER
pSql
->
maxRetry
=
TSDB_VNODES_SUPPORT
*
2
;
#else
// for fetch, it shall not renew meter meta
pSql
->
maxRetry
=
2
;
#endif
code
=
tscRenewMeterMeta
(
pSql
,
pMeterMetaInfo
->
name
);
pRes
->
code
=
code
;
if
(
code
==
TSDB_CODE_ACTION_IN_PROGRESS
)
return
pSql
;
...
...
@@ -460,8 +426,6 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
}
else
{
uint16_t
rspCode
=
pMsg
->
content
[
0
];
#ifdef CLUSTER
if
(
rspCode
==
TSDB_CODE_REDIRECT
)
{
tscTrace
(
"%p it shall be redirected!"
,
pSql
);
taosAddConnIntoCache
(
tscConnCache
,
thandle
,
pSql
->
ip
,
pSql
->
vnode
,
pObj
->
user
);
...
...
@@ -493,12 +457,7 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
* removed. So, renew metermeta and try again.
* not_active_session: db has been move to other node, the vnode does not exist on this dnode anymore.
*/
#else
if
(
rspCode
==
TSDB_CODE_NOT_ACTIVE_TABLE
||
rspCode
==
TSDB_CODE_INVALID_TABLE_ID
||
rspCode
==
TSDB_CODE_NOT_ACTIVE_VNODE
||
rspCode
==
TSDB_CODE_INVALID_VNODE_ID
||
rspCode
==
TSDB_CODE_TABLE_ID_MISMATCH
||
rspCode
==
TSDB_CODE_NETWORK_UNAVAIL
)
{
#endif
pSql
->
thandle
=
NULL
;
pSql
->
thandle
=
NULL
;
taosAddConnIntoCache
(
tscConnCache
,
thandle
,
pSql
->
ip
,
pSql
->
vnode
,
pObj
->
user
);
if
(
pCmd
->
command
==
TSDB_SQL_CONNECT
)
{
...
...
@@ -767,12 +726,8 @@ int tscProcessSql(SSqlObj *pSql) {
tscTrace
(
"%p SQL cmd:%d will be processed, name:%s, type:%d"
,
pSql
,
pSql
->
cmd
.
command
,
name
,
pSql
->
cmd
.
type
);
pSql
->
retry
=
0
;
if
(
pSql
->
cmd
.
command
<
TSDB_SQL_MGMT
)
{
#ifdef CLUSTER
pSql
->
maxRetry
=
TSDB_VNODES_SUPPORT
;
#else
pSql
->
maxRetry
=
2
;
#endif
// the pMeterMetaInfo cannot be NULL
if
(
pMeterMetaInfo
==
NULL
)
{
pSql
->
res
.
code
=
TSDB_CODE_OTHERS
;
...
...
@@ -3435,20 +3390,29 @@ int tscProcessConnectRsp(SSqlObj *pSql) {
assert
(
len
<=
tListLen
(
pObj
->
db
));
strncpy
(
pObj
->
db
,
temp
,
tListLen
(
pObj
->
db
));
#ifdef CLUSTER
SIpList
*
pIpList
;
char
*
rsp
=
pRes
->
pRsp
+
sizeof
(
SConnectRsp
);
pIpList
=
(
SIpList
*
)
rsp
;
tscMgmtIpList
.
numOfIps
=
pIpList
->
numOfIps
;
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
if
(
pIpList
->
numOfIps
!=
0
)
{
tscMgmtIpList
.
numOfIps
=
pIpList
->
numOfIps
;
for
(
int
i
=
0
;
i
<
pIpList
->
numOfIps
;
++
i
)
{
tinet_ntoa
(
tscMgmtIpList
.
ipstr
[
i
],
pIpList
->
ip
[
i
]);
tscMgmtIpList
.
ip
[
i
]
=
pIpList
->
ip
[
i
];
}
}
else
{
if
(
tscMgmtIpList
.
numOfIps
!=
2
)
{
strcpy
(
tscMgmtIpList
.
ipstr
[
0
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
0
]
=
inet_addr
(
tsMasterIp
);
strcpy
(
tscMgmtIpList
.
ipstr
[
1
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
1
]
=
inet_addr
(
tsMasterIp
);
}
}
rsp
+=
sizeof
(
SIpList
)
+
sizeof
(
int32_t
)
*
pIpList
->
numOfIps
;
tscPrintMgmtIp
();
#endif
strcpy
(
pObj
->
sversion
,
pConnect
->
version
);
pObj
->
writeAuth
=
pConnect
->
writeAuth
;
pObj
->
superAuth
=
pConnect
->
superAuth
;
...
...
src/client/src/tscSql.c
浏览文件 @
e3129e4e
...
...
@@ -63,19 +63,10 @@ TAOS *taos_connect_imp(const char *ip, const char *user, const char *pass, const
}
}
#ifdef CLUSTER
if
(
ip
&&
ip
[
0
])
{
strcpy
(
tscMgmtIpList
.
ipstr
[
1
],
ip
);
tscMgmtIpList
.
ip
[
1
]
=
inet_addr
(
ip
);
strcpy
(
tscMgmtIpList
.
ipstr
[
0
],
ip
);
tscMgmtIpList
.
ip
[
0
]
=
inet_addr
(
ip
);
}
#else
if
(
ip
&&
ip
[
0
])
{
if
(
ip
!=
tsMasterIp
)
{
strcpy
(
tsMasterIp
,
ip
);
}
tsServerIp
=
inet_addr
(
ip
);
}
#endif
pObj
=
(
STscObj
*
)
malloc
(
sizeof
(
STscObj
));
if
(
NULL
==
pObj
)
{
...
...
@@ -175,11 +166,6 @@ TAOS *taos_connect(const char *ip, const char *user, const char *pass, const cha
TAOS
*
taos_connect_a
(
char
*
ip
,
char
*
user
,
char
*
pass
,
char
*
db
,
uint16_t
port
,
void
(
*
fp
)(
void
*
,
TAOS_RES
*
,
int
),
void
*
param
,
void
**
taos
)
{
#ifndef CLUSTER
if
(
ip
==
NULL
)
{
ip
=
tsMasterIp
;
}
#endif
return
taos_connect_imp
(
ip
,
user
,
pass
,
db
,
port
,
fp
,
param
,
taos
);
}
...
...
src/client/src/tscSystem.c
浏览文件 @
e3129e4e
...
...
@@ -95,7 +95,6 @@ void taos_init_imp() {
taosInitNote
(
tsNumOfLogLines
/
10
,
1
,
(
char
*
)
"tsc_note"
);
}
#ifdef CLUSTER
tscMgmtIpList
.
numOfIps
=
2
;
strcpy
(
tscMgmtIpList
.
ipstr
[
0
],
tsMasterIp
);
tscMgmtIpList
.
ip
[
0
]
=
inet_addr
(
tsMasterIp
);
...
...
@@ -108,7 +107,6 @@ void taos_init_imp() {
strcpy
(
tscMgmtIpList
.
ipstr
[
2
],
tsSecondIp
);
tscMgmtIpList
.
ip
[
2
]
=
inet_addr
(
tsSecondIp
);
}
#endif
tscInitMsgs
();
slaveIndex
=
rand
();
...
...
src/inc/tglobalcfg.h
浏览文件 @
e3129e4e
...
...
@@ -54,6 +54,7 @@ extern char tsDirectory[];
extern
char
dataDir
[];
extern
char
logDir
[];
extern
char
scriptDir
[];
extern
char
osName
[];
extern
char
tsMasterIp
[];
extern
char
tsSecondIp
[];
...
...
@@ -78,7 +79,6 @@ extern char tsPrivateIp[];
extern
short
tsNumOfVnodesPerCore
;
extern
short
tsNumOfTotalVnodes
;
extern
short
tsCheckHeaderFile
;
extern
uint32_t
tsServerIp
;
extern
uint32_t
tsPublicIpInt
;
extern
int
tsSessionsPerVnode
;
...
...
src/kit/shell/src/shellEngine.c
浏览文件 @
e3129e4e
...
...
@@ -21,28 +21,13 @@
#include "shellCommand.h"
#include "ttime.h"
#include "tutil.h"
#include "taoserror.h"
#include <regex.h>
/**************** Global variables ****************/
#ifdef WINDOWS
char
CLIENT_VERSION
[]
=
"Welcome to the TDengine shell from windows, client version:%s "
;
#elif defined(DARWIN)
char
CLIENT_VERSION
[]
=
"Welcome to the TDengine shell from mac, client version:%s "
;
#else
#ifdef CLUSTER
char
CLIENT_VERSION
[]
=
"Welcome to the TDengine shell from linux, enterprise client version:%s "
;
#else
char
CLIENT_VERSION
[]
=
"Welcome to the TDengine shell from linux, community client version:%s "
;
#endif
#endif
#ifdef CLUSTER
char
SERVER_VERSION
[]
=
"enterprise server version:%s
\n
Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
\n\n
"
;
#else
char
SERVER_VERSION
[]
=
"community server version:%s
\n
Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
\n\n
"
;
#endif
char
CLIENT_VERSION
[]
=
"Welcome to the TDengine shell from %s, Client Version:%s
\n
"
"Copyright (c) 2017 by TAOS Data, Inc. All rights reserved.
\n\n
"
;
char
PROMPT_HEADER
[]
=
"taos> "
;
char
CONTINUE_PROMPT
[]
=
" -> "
;
int
prompt_size
=
6
;
...
...
@@ -54,7 +39,7 @@ History history;
*/
TAOS
*
shellInit
(
struct
arguments
*
args
)
{
printf
(
"
\n
"
);
printf
(
CLIENT_VERSION
,
taos_get_client_info
());
printf
(
CLIENT_VERSION
,
osName
,
taos_get_client_info
());
fflush
(
stdout
);
// set options before initializing
...
...
@@ -119,8 +104,6 @@ TAOS *shellInit(struct arguments *args) {
}
#endif
printf
(
SERVER_VERSION
,
taos_get_server_info
(
con
));
return
con
;
}
...
...
@@ -817,11 +800,16 @@ void source_file(TAOS *con, char *fptr) {
}
void
shellGetGrantInfo
(
void
*
con
)
{
#ifdef CLUSTER
char
sql
[]
=
"show grants"
;
if
(
taos_query
(
con
,
sql
))
{
fprintf
(
stdout
,
"
\n
"
);
int
code
=
taos_query
(
con
,
sql
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
==
TSDB_CODE_OPS_NOT_SUPPORT
)
{
fprintf
(
stdout
,
"Server is Community Edition, version is %s
\n\n
"
,
taos_get_server_info
(
con
));
}
else
{
fprintf
(
stderr
,
"Failed to check Server Edition, Reason:%d:%s
\n\n
"
,
taos_errno
(
con
),
taos_errstr
(
con
));
}
return
;
}
...
...
@@ -843,18 +831,18 @@ void shellGetGrantInfo(void *con) {
exit
(
0
);
}
char
v
ersion
[
32
]
=
{
0
};
char
serverV
ersion
[
32
]
=
{
0
};
char
expiretime
[
32
]
=
{
0
};
char
expired
[
32
]
=
{
0
};
memcpy
(
v
ersion
,
row
[
0
],
fields
[
0
].
bytes
);
memcpy
(
serverV
ersion
,
row
[
0
],
fields
[
0
].
bytes
);
memcpy
(
expiretime
,
row
[
1
],
fields
[
1
].
bytes
);
memcpy
(
expired
,
row
[
2
],
fields
[
2
].
bytes
);
if
(
strcmp
(
expiretime
,
"unlimited"
)
==
0
)
{
fprintf
(
stdout
,
"
This is the %s version and will never expire.
\n
"
,
version
);
fprintf
(
stdout
,
"
Server is Enterprise %s Edition, version is %s and will never expire.
\n
"
,
serverVersion
,
taos_get_server_info
(
con
)
);
}
else
{
fprintf
(
stdout
,
"
This is the %s version and will expire at %s.
\n
"
,
version
,
expiretime
);
fprintf
(
stdout
,
"
Server is Enterprise %s Edition, version is %s and will expire at %s.
\n
"
,
serverVersion
,
taos_get_server_info
(
con
)
,
expiretime
);
}
taos_free_result
(
result
);
...
...
@@ -862,5 +850,4 @@ void shellGetGrantInfo(void *con) {
}
fprintf
(
stdout
,
"
\n
"
);
#endif
}
src/kit/shell/src/shellLinux.c
浏览文件 @
e3129e4e
...
...
@@ -119,13 +119,9 @@ static error_t parse_opt(int key, char *arg, struct argp_state *state) {
static
struct
argp
argp
=
{
options
,
parse_opt
,
args_doc
,
doc
};
void
shellParseArgument
(
int
argc
,
char
*
argv
[],
struct
arguments
*
arguments
)
{
char
verType
[
32
]
=
{
0
};
#ifdef CLUSTER
sprintf
(
verType
,
"enterprise version: %s
\n
"
,
version
);
#else
sprintf
(
verType
,
"community version: %s
\n
"
,
version
);
#endif
static
char
verType
[
32
]
=
{
0
};
sprintf
(
verType
,
"version: %s
\n
"
,
version
);
argp_program_version
=
verType
;
argp_parse
(
&
argp
,
argc
,
argv
,
0
,
0
,
arguments
);
...
...
src/modules/monitor/src/monitorSystem.c
浏览文件 @
e3129e4e
...
...
@@ -217,9 +217,7 @@ void monitorInitDatabaseCb(void *param, TAOS_RES *result, int code) {
if
(
monitor
->
cmdIndex
==
MONITOR_CMD_CREATE_TB_LOG
)
{
taosLogFp
=
monitorSaveLog
;
taosLogSqlFp
=
monitorExecuteSQL
;
#ifdef CLUSTER
taosLogAcctFp
=
monitorSaveAcctLog
;
#endif
monitorLPrint
(
"dnode:%s is started"
,
tsPrivateIp
);
}
monitor
->
cmdIndex
++
;
...
...
src/os/darwin/src/tdarwin.c
浏览文件 @
e3129e4e
...
...
@@ -38,6 +38,7 @@ char tsDirectory[TSDB_FILENAME_LEN] = "~/TDengine/data";
char
dataDir
[
TSDB_FILENAME_LEN
]
=
"~/TDengine/data"
;
char
logDir
[
TSDB_FILENAME_LEN
]
=
"~/TDengine/log"
;
char
scriptDir
[
TSDB_FILENAME_LEN
]
=
"~/TDengine/script"
;
char
osName
[]
=
"Darwin"
;
int64_t
str2int64
(
char
*
str
)
{
char
*
endptr
=
NULL
;
...
...
src/os/linux/src/tlinux.c
浏览文件 @
e3129e4e
...
...
@@ -39,6 +39,7 @@ char tsDirectory[TSDB_FILENAME_LEN] = "/var/lib/taos";
char
dataDir
[
TSDB_FILENAME_LEN
]
=
"/var/lib/taos"
;
char
logDir
[
TSDB_FILENAME_LEN
]
=
"/var/log/taos"
;
char
scriptDir
[
TSDB_FILENAME_LEN
]
=
"/etc/taos"
;
char
osName
[]
=
"Linux"
;
int64_t
str2int64
(
char
*
str
)
{
char
*
endptr
=
NULL
;
...
...
src/os/windows/src/twindows.c
浏览文件 @
e3129e4e
...
...
@@ -37,6 +37,7 @@ char tsDirectory[TSDB_FILENAME_LEN] = "C:/TDengine/data";
char
logDir
[
TSDB_FILENAME_LEN
]
=
"C:/TDengine/log"
;
char
dataDir
[
TSDB_FILENAME_LEN
]
=
"C:/TDengine/data"
;
char
scriptDir
[
TSDB_FILENAME_LEN
]
=
"C:/TDengine/script"
;
char
osName
[]
=
"Windows"
;
bool
taosCheckPthreadValid
(
pthread_t
thread
)
{
return
thread
.
p
!=
NULL
;
...
...
src/sdb/src/sdbEngine.c
浏览文件 @
e3129e4e
...
...
@@ -24,6 +24,8 @@
extern
char
version
[];
const
int16_t
sdbFileVersion
=
0
;
int
sdbExtConns
=
0
;
SIpList
*
pSdbIpList
=
NULL
;
SIpList
*
pSdbPublicIpList
=
NULL
;
#ifdef CLUSTER
int
sdbMaster
=
0
;
...
...
src/system/detail/src/mgmtShell.c
浏览文件 @
e3129e4e
...
...
@@ -1202,21 +1202,28 @@ int mgmtProcessHeartBeatMsg(char *cont, int contLen, SConnObj *pConn) {
pConn
->
streamId
=
0
;
pHBRsp
->
killConnection
=
pConn
->
killConnection
;
#ifdef CLUSTER
if
(
pConn
->
usePublicIp
)
{
int
size
=
pSdbPublicIpList
->
numOfIps
*
4
;
pHBRsp
->
ipList
.
numOfIps
=
pSdbPublicIpList
->
numOfIps
;
memcpy
(
pHBRsp
->
ipList
.
ip
,
pSdbPublicIpList
->
ip
,
size
);
pMsg
+=
sizeof
(
SHeartBeatRsp
)
+
size
;
if
(
pSdbPublicIpList
!=
NULL
)
{
int
size
=
pSdbPublicIpList
->
numOfIps
*
4
;
pHBRsp
->
ipList
.
numOfIps
=
pSdbPublicIpList
->
numOfIps
;
memcpy
(
pHBRsp
->
ipList
.
ip
,
pSdbPublicIpList
->
ip
,
size
);
pMsg
+=
sizeof
(
SHeartBeatRsp
)
+
size
;
}
else
{
pHBRsp
->
ipList
.
numOfIps
=
0
;
pMsg
+=
sizeof
(
SHeartBeatRsp
);
}
}
else
{
int
size
=
pSdbIpList
->
numOfIps
*
4
;
pHBRsp
->
ipList
.
numOfIps
=
pSdbIpList
->
numOfIps
;
memcpy
(
pHBRsp
->
ipList
.
ip
,
pSdbIpList
->
ip
,
size
);
pMsg
+=
sizeof
(
SHeartBeatRsp
)
+
size
;
if
(
pSdbIpList
!=
NULL
)
{
int
size
=
pSdbIpList
->
numOfIps
*
4
;
pHBRsp
->
ipList
.
numOfIps
=
pSdbIpList
->
numOfIps
;
memcpy
(
pHBRsp
->
ipList
.
ip
,
pSdbIpList
->
ip
,
size
);
pMsg
+=
sizeof
(
SHeartBeatRsp
)
+
size
;
}
else
{
pHBRsp
->
ipList
.
numOfIps
=
0
;
pMsg
+=
sizeof
(
SHeartBeatRsp
);
}
}
#else
pMsg
+=
sizeof
(
SHeartBeatRsp
);
#endif
msgLen
=
pMsg
-
pStart
;
taosSendMsgToPeer
(
pConn
->
thandle
,
pStart
,
msgLen
);
...
...
@@ -1334,15 +1341,22 @@ _rsp:
pConnectRsp
->
superAuth
=
pConn
->
superAuth
;
pMsg
+=
sizeof
(
SConnectRsp
);
#ifdef CLUSTER
int
size
=
pSdbPublicIpList
->
numOfIps
*
4
+
sizeof
(
SIpList
);
if
(
pConn
->
usePublicIp
)
{
memcpy
(
pMsg
,
pSdbPublicIpList
,
size
);
int
size
;
if
(
pSdbPublicIpList
!=
NULL
&&
pSdbIpList
!=
NULL
)
{
size
=
pSdbPublicIpList
->
numOfIps
*
4
+
sizeof
(
SIpList
);
if
(
pConn
->
usePublicIp
)
{
memcpy
(
pMsg
,
pSdbPublicIpList
,
size
);
}
else
{
memcpy
(
pMsg
,
pSdbIpList
,
size
);
}
}
else
{
memcpy
(
pMsg
,
pSdbIpList
,
size
);
SIpList
tmpIpList
;
tmpIpList
.
numOfIps
=
0
;
size
=
tmpIpList
.
numOfIps
*
4
+
sizeof
(
SIpList
);
memcpy
(
pMsg
,
&
tmpIpList
,
size
);
}
pMsg
+=
size
;
#endif
// set the time resolution: millisecond or microsecond
*
((
uint32_t
*
)
pMsg
)
=
tsTimePrecision
;
...
...
src/util/src/tglobalcfg.c
浏览文件 @
e3129e4e
...
...
@@ -56,11 +56,7 @@ int tscEmbedded = 0;
*/
int64_t
tsMsPerDay
[]
=
{
86400000L
,
86400000000L
};
#ifdef CLUSTER
char
tsMasterIp
[
TSDB_IPv4ADDR_LEN
]
=
{
0
};
#else
char
tsMasterIp
[
TSDB_IPv4ADDR_LEN
]
=
"127.0.0.1"
;
#endif
char
tsSecondIp
[
TSDB_IPv4ADDR_LEN
]
=
{
0
};
uint16_t
tsMgmtShellPort
=
6030
;
// udp[6030-6034] tcp[6030]
uint16_t
tsVnodeShellPort
=
6035
;
// udp[6035-6039] tcp[6035]
...
...
@@ -444,7 +440,7 @@ static void doInitGlobalConfig() {
// ip address
tsInitConfigOption
(
cfg
++
,
"masterIp"
,
tsMasterIp
,
TSDB_CFG_VTYPE_IPSTR
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLIENT
|
TSDB_CFG_CTYPE_B_CLUSTER
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLIENT
,
0
,
0
,
TSDB_IPv4ADDR_LEN
,
TSDB_CFG_UTYPE_NONE
);
tsInitConfigOption
(
cfg
++
,
"secondIp"
,
tsSecondIp
,
TSDB_CFG_VTYPE_IPSTR
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLIENT
|
TSDB_CFG_CTYPE_B_CLUSTER
,
...
...
@@ -787,11 +783,9 @@ static void doInitGlobalConfig() {
TSDB_CFG_CTYPE_B_CONFIG
,
0
,
1
,
0
,
TSDB_CFG_UTYPE_NONE
);
#ifdef CLUSTER
tsInitConfigOption
(
cfg
++
,
"anyIp"
,
&
tsAnyIp
,
TSDB_CFG_VTYPE_INT
,
TSDB_CFG_CTYPE_B_CONFIG
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_CLUSTER
,
0
,
1
,
0
,
TSDB_CFG_UTYPE_NONE
);
#endif
// version info
tsInitConfigOption
(
cfg
++
,
"gitinfo"
,
gitinfo
,
TSDB_CFG_VTYPE_STRING
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录