Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
a48c13aa
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看板
提交
a48c13aa
编写于
11月 25, 2019
作者:
H
hjxilinx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[tbase-1225]
上级
cdaa3871
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
8 deletion
+20
-8
src/client/src/tscServer.c
src/client/src/tscServer.c
+19
-7
src/util/src/tglobalcfg.c
src/util/src/tglobalcfg.c
+1
-1
未找到文件。
src/client/src/tscServer.c
浏览文件 @
a48c13aa
...
...
@@ -59,6 +59,22 @@ void tscPrintMgmtIp() {
}
#endif
/*
* For each management node, try twice at least in case of poor network situation.
* If the client start to connect to a non-management node from the client, and the first retry may fail due to
* the poor network quality. And then, the second retry get the response with redirection command.
* The retry will not be executed since only *two* retry is allowed in case of single management node in the cluster.
* Therefore, we need to multiply the retry times by factor of 2 to fix this problem.
*/
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
)
{
STscObj
*
pObj
=
(
STscObj
*
)
param
;
if
(
pObj
==
NULL
)
return
;
...
...
@@ -134,18 +150,17 @@ void tscProcessActivityTimer(void *handle, void *tmrId) {
tscProcessSql
(
pObj
->
pHb
);
}
//TODO HANDLE error from mgmt
void
tscGetConnToMgmt
(
SSqlObj
*
pSql
,
uint8_t
*
pCode
)
{
STscObj
*
pTscObj
=
pSql
->
pTscObj
;
#ifdef CLUSTER
if
(
pSql
->
retry
<
tsc
MgmtIpList
.
numOfIps
)
{
if
(
pSql
->
retry
<
tsc
GetMgmtConnMaxRetryTimes
()
)
{
*
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
<
1
)
{
if
(
pSql
->
retry
<
tscGetMgmtConnMaxRetryTimes
()
)
{
*
pCode
=
0
;
pSql
->
retry
++
;
void
*
thandle
=
taosGetConnFromCache
(
tscConnCache
,
tsServerIp
,
TSC_MGMT_VNODE
,
pTscObj
->
user
);
...
...
@@ -444,16 +459,13 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
}
}
else
{
uint16_t
rspCode
=
pMsg
->
content
[
0
];
#ifdef CLUSTER
#ifdef CLUSTER
if
(
rspCode
==
TSDB_CODE_REDIRECT
)
{
tscTrace
(
"%p it shall be redirected!"
,
pSql
);
taosAddConnIntoCache
(
tscConnCache
,
thandle
,
pSql
->
ip
,
pSql
->
vnode
,
pObj
->
user
);
pSql
->
thandle
=
NULL
;
// reset the retry times for a new mgmt node
pSql
->
retry
=
0
;
if
(
pCmd
->
command
>
TSDB_SQL_MGMT
)
{
tscProcessMgmtRedirect
(
pSql
,
pMsg
->
content
+
1
);
...
...
src/util/src/tglobalcfg.c
浏览文件 @
a48c13aa
...
...
@@ -510,7 +510,7 @@ static void doInitGlobalConfig() {
0
,
TSDB_MAX_VNODES
,
0
,
TSDB_CFG_UTYPE_NONE
);
tsInitConfigOption
(
cfg
++
,
"tables"
,
&
tsSessionsPerVnode
,
TSDB_CFG_VTYPE_INT
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
,
4
,
220000
,
0
,
TSDB_CFG_UTYPE_NONE
);
TSDB_MIN_TABLES_PER_VNODE
,
TSDB_MAX_TABLES_PER_VNODE
,
0
,
TSDB_CFG_UTYPE_NONE
);
tsInitConfigOption
(
cfg
++
,
"cache"
,
&
tsCacheBlockSize
,
TSDB_CFG_VTYPE_INT
,
TSDB_CFG_CTYPE_B_CONFIG
|
TSDB_CFG_CTYPE_B_SHOW
,
100
,
1048576
,
0
,
TSDB_CFG_UTYPE_BYTE
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录