[TD-4918]<fix>: taosdemo subscribe endAfterResume. (#6654)
Co-authored-by: Shuduo Sang <sdsang@taosdata.com>
This commit is contained in:
parent
159d3203dc
commit
ea1777d551
|
@ -4408,14 +4408,12 @@ static bool getMetaFromQueryJsonFile(cJSON* root) {
|
|||
|
||||
cJSON* resubAfterConsume =
|
||||
cJSON_GetObjectItem(specifiedQuery, "resubAfterConsume");
|
||||
g_queryInfo.specifiedQueryInfo.resubAfterConsume[j] = -1;
|
||||
if ((resubAfterConsume)
|
||||
&& (resubAfterConsume->type == cJSON_Number)
|
||||
&& (resubAfterConsume->valueint >= 0)) {
|
||||
g_queryInfo.specifiedQueryInfo.resubAfterConsume[j]
|
||||
= resubAfterConsume->valueint;
|
||||
} else if (!resubAfterConsume) {
|
||||
// default value is -1, which mean do not resub
|
||||
g_queryInfo.specifiedQueryInfo.resubAfterConsume[j] = -1;
|
||||
}
|
||||
|
||||
cJSON *result = cJSON_GetObjectItem(sql, "result");
|
||||
|
@ -4572,14 +4570,12 @@ static bool getMetaFromQueryJsonFile(cJSON* root) {
|
|||
|
||||
cJSON* superResubAfterConsume =
|
||||
cJSON_GetObjectItem(superQuery, "resubAfterConsume");
|
||||
g_queryInfo.superQueryInfo.resubAfterConsume = -1;
|
||||
if ((superResubAfterConsume)
|
||||
&& (superResubAfterConsume->type == cJSON_Number)
|
||||
&& (superResubAfterConsume->valueint >= 0)) {
|
||||
g_queryInfo.superQueryInfo.resubAfterConsume =
|
||||
superResubAfterConsume->valueint;
|
||||
} else if (!superResubAfterConsume) {
|
||||
// default value is -1, which mean do not resub
|
||||
g_queryInfo.superQueryInfo.resubAfterConsume = -1;
|
||||
}
|
||||
|
||||
// supert table sqls
|
||||
|
@ -7222,7 +7218,7 @@ static TAOS_SUB* subscribeImpl(
|
|||
}
|
||||
|
||||
if (tsub == NULL) {
|
||||
printf("failed to create subscription. topic:%s, sql:%s\n", topic, sql);
|
||||
errorPrint("failed to create subscription. topic:%s, sql:%s\n", topic, sql);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -7237,8 +7233,7 @@ static void *superSubscribe(void *sarg) {
|
|||
|
||||
if (pThreadInfo->ntables > MAX_QUERY_SQL_COUNT) {
|
||||
errorPrint("The table number(%"PRId64") of the thread is more than max query sql count: %d\n",
|
||||
pThreadInfo->ntables,
|
||||
MAX_QUERY_SQL_COUNT);
|
||||
pThreadInfo->ntables, MAX_QUERY_SQL_COUNT);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
|
@ -7267,7 +7262,6 @@ static void *superSubscribe(void *sarg) {
|
|||
char topic[32] = {0};
|
||||
for (uint64_t i = pThreadInfo->start_table_from;
|
||||
i <= pThreadInfo->end_table_to; i++) {
|
||||
|
||||
tsubSeq = i - pThreadInfo->start_table_from;
|
||||
verbosePrint("%s() LN%d, [%d], start=%"PRId64" end=%"PRId64" i=%"PRIu64"\n",
|
||||
__func__, __LINE__,
|
||||
|
@ -7309,9 +7303,14 @@ static void *superSubscribe(void *sarg) {
|
|||
uint64_t st = 0, et = 0;
|
||||
|
||||
while ((g_queryInfo.superQueryInfo.endAfterConsume == -1)
|
||||
|| (g_queryInfo.superQueryInfo.endAfterConsume <
|
||||
consumed[pThreadInfo->end_table_to - pThreadInfo->start_table_from])) {
|
||||
|| (g_queryInfo.superQueryInfo.endAfterConsume >
|
||||
consumed[pThreadInfo->end_table_to
|
||||
- pThreadInfo->start_table_from])) {
|
||||
|
||||
verbosePrint("super endAfterConsume: %d, consumed: %d\n",
|
||||
g_queryInfo.superQueryInfo.endAfterConsume,
|
||||
consumed[pThreadInfo->end_table_to
|
||||
- pThreadInfo->start_table_from]);
|
||||
for (uint64_t i = pThreadInfo->start_table_from;
|
||||
i <= pThreadInfo->end_table_to; i++) {
|
||||
tsubSeq = i - pThreadInfo->start_table_from;
|
||||
|
@ -7337,7 +7336,8 @@ static void *superSubscribe(void *sarg) {
|
|||
if ((g_queryInfo.superQueryInfo.resubAfterConsume != -1)
|
||||
&& (consumed[tsubSeq] >=
|
||||
g_queryInfo.superQueryInfo.resubAfterConsume)) {
|
||||
printf("keepProgress:%d, resub super table query: %"PRIu64"\n",
|
||||
verbosePrint("%s() LN%d, keepProgress:%d, resub super table query: %"PRIu64"\n",
|
||||
__func__, __LINE__,
|
||||
g_queryInfo.superQueryInfo.subscribeKeepProgress,
|
||||
pThreadInfo->querySeq);
|
||||
taos_unsubscribe(tsub[tsubSeq],
|
||||
|
@ -7357,6 +7357,10 @@ static void *superSubscribe(void *sarg) {
|
|||
}
|
||||
}
|
||||
}
|
||||
verbosePrint("%s() LN%d, super endAfterConsume: %d, consumed: %d\n",
|
||||
__func__, __LINE__,
|
||||
g_queryInfo.superQueryInfo.endAfterConsume,
|
||||
consumed[pThreadInfo->end_table_to - pThreadInfo->start_table_from]);
|
||||
taos_free_result(res);
|
||||
|
||||
for (uint64_t i = pThreadInfo->start_table_from;
|
||||
|
@ -7420,6 +7424,11 @@ static void *specifiedSubscribe(void *sarg) {
|
|||
|| (g_queryInfo.specifiedQueryInfo.consumed[pThreadInfo->threadID] <
|
||||
g_queryInfo.specifiedQueryInfo.endAfterConsume[pThreadInfo->querySeq])) {
|
||||
|
||||
printf("consumed[%d]: %d, endAfterConsum[%"PRId64"]: %d\n",
|
||||
pThreadInfo->threadID,
|
||||
g_queryInfo.specifiedQueryInfo.consumed[pThreadInfo->threadID],
|
||||
pThreadInfo->querySeq,
|
||||
g_queryInfo.specifiedQueryInfo.endAfterConsume[pThreadInfo->querySeq]);
|
||||
if (ASYNC_MODE == g_queryInfo.specifiedQueryInfo.asyncMode) {
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue