Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
6375ee78
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看板
提交
6375ee78
编写于
6月 17, 2021
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
差异文件
[td-225]merge from master
上级
50626046
3a740a58
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
106 addition
and
76 deletion
+106
-76
src/balance/src/bnMain.c
src/balance/src/bnMain.c
+1
-0
src/client/src/tscPrepare.c
src/client/src/tscPrepare.c
+5
-5
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+56
-56
src/client/src/tscSub.c
src/client/src/tscSub.c
+15
-9
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+4
-4
src/connector/jdbc/CMakeLists.txt
src/connector/jdbc/CMakeLists.txt
+1
-1
src/dnode/inc/dnodeCfg.h
src/dnode/inc/dnodeCfg.h
+1
-0
src/dnode/src/dnodeCfg.c
src/dnode/src/dnodeCfg.c
+22
-0
src/dnode/src/dnodeVnodes.c
src/dnode/src/dnodeVnodes.c
+1
-0
src/query/inc/qTableMeta.h
src/query/inc/qTableMeta.h
+0
-1
未找到文件。
src/balance/src/bnMain.c
浏览文件 @
6375ee78
...
@@ -367,6 +367,7 @@ static bool bnMonitorBalance() {
...
@@ -367,6 +367,7 @@ static bool bnMonitorBalance() {
for
(
int32_t
dest
=
0
;
dest
<
src
;
dest
++
)
{
for
(
int32_t
dest
=
0
;
dest
<
src
;
dest
++
)
{
SDnodeObj
*
pDestDnode
=
tsBnDnodes
.
list
[
dest
];
SDnodeObj
*
pDestDnode
=
tsBnDnodes
.
list
[
dest
];
if
(
bnCheckDnodeInVgroup
(
pDestDnode
,
pVgroup
))
continue
;
if
(
bnCheckDnodeInVgroup
(
pDestDnode
,
pVgroup
))
continue
;
if
(
taosGetTimestampMs
()
-
pDestDnode
->
createdTime
<
2000
)
continue
;
float
destScore
=
bnTryCalcDnodeScore
(
pDestDnode
,
1
);
float
destScore
=
bnTryCalcDnodeScore
(
pDestDnode
,
1
);
if
(
srcScore
+
0
.
0001
<
destScore
)
continue
;
if
(
srcScore
+
0
.
0001
<
destScore
)
continue
;
...
...
src/client/src/tscPrepare.c
浏览文件 @
6375ee78
src/client/src/tscSQLParser.c
浏览文件 @
6375ee78
src/client/src/tscSub.c
浏览文件 @
6375ee78
...
@@ -283,6 +283,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
...
@@ -283,6 +283,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
SArray
*
tables
=
getTableList
(
pSql
);
SArray
*
tables
=
getTableList
(
pSql
);
if
(
tables
==
NULL
)
{
if
(
tables
==
NULL
)
{
pSub
->
lastSyncTime
=
0
;
//force to get table list next time
return
0
;
return
0
;
}
}
size_t
numOfTables
=
taosArrayGetSize
(
tables
);
size_t
numOfTables
=
taosArrayGetSize
(
tables
);
...
@@ -489,7 +490,15 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -489,7 +490,15 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
SSub
*
pSub
=
(
SSub
*
)
tsub
;
SSub
*
pSub
=
(
SSub
*
)
tsub
;
if
(
pSub
==
NULL
)
return
NULL
;
if
(
pSub
==
NULL
)
return
NULL
;
if
(
pSub
->
pSql
->
cmd
.
command
==
TSDB_SQL_RETRIEVE_EMPTY_RESULT
)
{
if
(
pSub
->
pTimer
==
NULL
)
{
int64_t
duration
=
taosGetTimestampMs
()
-
pSub
->
lastConsumeTime
;
if
(
duration
<
(
int64_t
)(
pSub
->
interval
))
{
tscDebug
(
"subscription consume too frequently, blocking..."
);
taosMsleep
(
pSub
->
interval
-
(
int32_t
)
duration
);
}
}
if
(
pSub
->
pSql
->
cmd
.
command
==
TSDB_SQL_RETRIEVE_EMPTY_RESULT
)
{
//may reach here when retireve stable vgroup failed
SSqlObj
*
pSql
=
recreateSqlObj
(
pSub
);
SSqlObj
*
pSql
=
recreateSqlObj
(
pSub
);
if
(
pSql
==
NULL
)
{
if
(
pSql
==
NULL
)
{
return
NULL
;
return
NULL
;
...
@@ -503,6 +512,11 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -503,6 +512,11 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
pSub
->
pSql
=
pSql
;
pSub
->
pSql
=
pSql
;
pSql
->
pSubscription
=
pSub
;
pSql
->
pSubscription
=
pSub
;
// no table list now, force to update it
tscDebug
(
"begin table synchronization"
);
if
(
!
tscUpdateSubscription
(
pSub
->
taos
,
pSub
))
return
NULL
;
tscDebug
(
"table synchronization completed"
);
}
}
tscSaveSubscriptionProgress
(
pSub
);
tscSaveSubscriptionProgress
(
pSub
);
...
@@ -527,14 +541,6 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -527,14 +541,6 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
tscDebug
(
"subscribe:%s set next round subscribe skey:%"
PRId64
,
pSub
->
topic
,
pQueryInfo
->
window
.
skey
);
tscDebug
(
"subscribe:%s set next round subscribe skey:%"
PRId64
,
pSub
->
topic
,
pQueryInfo
->
window
.
skey
);
}
}
if
(
pSub
->
pTimer
==
NULL
)
{
int64_t
duration
=
taosGetTimestampMs
()
-
pSub
->
lastConsumeTime
;
if
(
duration
<
(
int64_t
)(
pSub
->
interval
))
{
tscDebug
(
"subscription consume too frequently, blocking..."
);
taosMsleep
(
pSub
->
interval
-
(
int32_t
)
duration
);
}
}
size_t
size
=
taosArrayGetSize
(
pSub
->
progress
)
*
sizeof
(
STableIdInfo
);
size_t
size
=
taosArrayGetSize
(
pSub
->
progress
)
*
sizeof
(
STableIdInfo
);
size
+=
sizeof
(
SQueryTableMsg
)
+
4096
;
size
+=
sizeof
(
SQueryTableMsg
)
+
4096
;
int
code
=
tscAllocPayload
(
&
pSql
->
cmd
,
(
int
)
size
);
int
code
=
tscAllocPayload
(
&
pSql
->
cmd
,
(
int
)
size
);
...
...
src/client/src/tscSubquery.c
浏览文件 @
6375ee78
src/connector/jdbc/CMakeLists.txt
浏览文件 @
6375ee78
src/dnode/inc/dnodeCfg.h
浏览文件 @
6375ee78
...
@@ -27,6 +27,7 @@ void dnodeUpdateCfg(SDnodeCfg *cfg);
...
@@ -27,6 +27,7 @@ void dnodeUpdateCfg(SDnodeCfg *cfg);
int32_t
dnodeGetDnodeId
();
int32_t
dnodeGetDnodeId
();
void
dnodeGetClusterId
(
char
*
clusterId
);
void
dnodeGetClusterId
(
char
*
clusterId
);
void
dnodeGetCfg
(
int32_t
*
dnodeId
,
char
*
clusterId
);
void
dnodeGetCfg
(
int32_t
*
dnodeId
,
char
*
clusterId
);
void
dnodeSetDropped
();
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
src/dnode/src/dnodeCfg.c
浏览文件 @
6375ee78
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
static
SDnodeCfg
tsCfg
=
{
0
};
static
SDnodeCfg
tsCfg
=
{
0
};
static
pthread_mutex_t
tsCfgMutex
;
static
pthread_mutex_t
tsCfgMutex
;
static
int32_t
tsDnodeDropped
;
static
int32_t
dnodeReadCfg
();
static
int32_t
dnodeReadCfg
();
static
int32_t
dnodeWriteCfg
();
static
int32_t
dnodeWriteCfg
();
...
@@ -34,6 +35,10 @@ int32_t dnodeInitCfg() {
...
@@ -34,6 +35,10 @@ int32_t dnodeInitCfg() {
if
(
ret
==
0
)
{
if
(
ret
==
0
)
{
dInfo
(
"dnode cfg is initialized"
);
dInfo
(
"dnode cfg is initialized"
);
}
}
if
(
tsDnodeDropped
)
{
dInfo
(
"dnode is dropped, exiting"
);
return
-
1
;
}
return
ret
;
return
ret
;
}
}
...
@@ -44,6 +49,14 @@ void dnodeUpdateCfg(SDnodeCfg *cfg) {
...
@@ -44,6 +49,14 @@ void dnodeUpdateCfg(SDnodeCfg *cfg) {
dnodeResetCfg
(
cfg
);
dnodeResetCfg
(
cfg
);
}
}
void
dnodeSetDropped
()
{
pthread_mutex_lock
(
&
tsCfgMutex
);
tsDnodeDropped
=
1
;
dnodeWriteCfg
();
pthread_mutex_unlock
(
&
tsCfgMutex
);
}
int32_t
dnodeGetDnodeId
()
{
int32_t
dnodeGetDnodeId
()
{
int32_t
dnodeId
=
0
;
int32_t
dnodeId
=
0
;
pthread_mutex_lock
(
&
tsCfgMutex
);
pthread_mutex_lock
(
&
tsCfgMutex
);
...
@@ -119,6 +132,14 @@ static int32_t dnodeReadCfg() {
...
@@ -119,6 +132,14 @@ static int32_t dnodeReadCfg() {
}
}
cfg
.
dnodeId
=
(
int32_t
)
dnodeId
->
valueint
;
cfg
.
dnodeId
=
(
int32_t
)
dnodeId
->
valueint
;
cJSON
*
dnodeDropped
=
cJSON_GetObjectItem
(
root
,
"dnodeDropped"
);
if
(
!
dnodeDropped
||
dnodeDropped
->
type
!=
cJSON_Number
)
{
dError
(
"failed to read %s, dnodeDropped not found"
,
file
);
//goto PARSE_CFG_OVER;
}
else
{
tsDnodeDropped
=
(
int32_t
)
dnodeDropped
->
valueint
;
}
cJSON
*
clusterId
=
cJSON_GetObjectItem
(
root
,
"clusterId"
);
cJSON
*
clusterId
=
cJSON_GetObjectItem
(
root
,
"clusterId"
);
if
(
!
clusterId
||
clusterId
->
type
!=
cJSON_String
)
{
if
(
!
clusterId
||
clusterId
->
type
!=
cJSON_String
)
{
dError
(
"failed to read %s, clusterId not found"
,
file
);
dError
(
"failed to read %s, clusterId not found"
,
file
);
...
@@ -154,6 +175,7 @@ static int32_t dnodeWriteCfg() {
...
@@ -154,6 +175,7 @@ static int32_t dnodeWriteCfg() {
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeId
\"
: %d,
\n
"
,
tsCfg
.
dnodeId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeId
\"
: %d,
\n
"
,
tsCfg
.
dnodeId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeDropped
\"
: %d,
\n
"
,
tsDnodeDropped
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
clusterId
\"
:
\"
%s
\"\n
"
,
tsCfg
.
clusterId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
clusterId
\"
:
\"
%s
\"\n
"
,
tsCfg
.
clusterId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"}
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"}
\n
"
);
...
...
src/dnode/src/dnodeVnodes.c
浏览文件 @
6375ee78
...
@@ -202,6 +202,7 @@ static void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
...
@@ -202,6 +202,7 @@ static void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
char
clusterId
[
TSDB_CLUSTER_ID_LEN
];
char
clusterId
[
TSDB_CLUSTER_ID_LEN
];
dnodeGetClusterId
(
clusterId
);
dnodeGetClusterId
(
clusterId
);
if
(
clusterId
[
0
]
!=
'\0'
)
{
if
(
clusterId
[
0
]
!=
'\0'
)
{
dnodeSetDropped
();
dError
(
"exit zombie dropped dnode"
);
dError
(
"exit zombie dropped dnode"
);
exit
(
EXIT_FAILURE
);
exit
(
EXIT_FAILURE
);
}
}
...
...
src/query/inc/qTableMeta.h
浏览文件 @
6375ee78
...
@@ -138,7 +138,6 @@ typedef struct SQueryInfo {
...
@@ -138,7 +138,6 @@ typedef struct SQueryInfo {
bool
hasFilter
;
bool
hasFilter
;
bool
onlyTagQuery
;
bool
onlyTagQuery
;
bool
orderProjectQuery
;
bool
orderProjectQuery
;
// bool diffQuery;
bool
stateWindow
;
bool
stateWindow
;
}
SQueryInfo
;
}
SQueryInfo
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录