From 8892920ebcae4b6822b330ff5fdd481bbc6baa6d Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Mon, 23 Dec 2024 08:49:16 +0800 Subject: [PATCH] fix: task reschedule seriousId issue --- source/libs/scheduler/src/schTask.c | 2 +- source/libs/scheduler/test/schedulerTests.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/libs/scheduler/src/schTask.c b/source/libs/scheduler/src/schTask.c index cabaa65f19..c4a213bd7a 100644 --- a/source/libs/scheduler/src/schTask.c +++ b/source/libs/scheduler/src/schTask.c @@ -189,7 +189,6 @@ int32_t schProcessOnTaskFailure(SSchJob *pJob, SSchTask *pTask, int32_t errCode) } pTask->failedExecId = pTask->execId; - pTask->failedSeriousId = pTask->seriousId; int8_t jobStatus = 0; if (schJobNeedToStop(pJob, &jobStatus)) { @@ -1381,6 +1380,7 @@ int32_t schLaunchLevelTasks(SSchJob *pJob, SSchLevel *level) { for (int32_t i = 0; i < level->taskNum; ++i) { SSchTask *pTask = taosArrayGet(level->subTasks, i); + pTask->failedSeriousId = pJob->seriousId - 1; pTask->seriousId = pJob->seriousId; SCH_TASK_DLOG("task seriousId set to 0x%" PRIx64, pTask->seriousId); diff --git a/source/libs/scheduler/test/schedulerTests.cpp b/source/libs/scheduler/test/schedulerTests.cpp index f112376299..c13ea913f5 100644 --- a/source/libs/scheduler/test/schedulerTests.cpp +++ b/source/libs/scheduler/test/schedulerTests.cpp @@ -1008,6 +1008,9 @@ TEST(queryTest, rescheduleCase) { load.addr.epSet.eps[0].port = 6031; assert(taosArrayPush(qnodeList, &load) != NULL); + TAOS_STRCPY(load.addr.epSet.eps[0].fqdn, "qnode1.ep"); + assert(taosArrayPush(qnodeList, &load) != NULL); + code = schedulerInit(); ASSERT_EQ(code, 0); @@ -1079,7 +1082,6 @@ TEST(queryTest, rescheduleCase) { pIter = taosHashIterate(pJob->execTasks, pIter); } - pIter = taosHashIterate(pJob->execTasks, NULL); while (pIter) { SSchTask *task = *(SSchTask **)pIter;