fix: task redirect issue

This commit is contained in:
dapan1121 2024-09-27 16:47:52 +08:00
parent 9a7fec10af
commit cc1cf679e1
2 changed files with 4 additions and 6 deletions

View File

@ -61,6 +61,7 @@ typedef enum {
#define SCH_MAX_TASK_TIMEOUT_USEC 300000000
#define SCH_DEFAULT_MAX_RETRY_NUM 6
#define SCH_MIN_AYSNC_EXEC_NUM 3
#define SCH_DEFAULT_RETRY_TOTAL_ROUND 3
typedef struct SSchDebug {
bool lockEnable;

View File

@ -358,11 +358,6 @@ int32_t schRescheduleTask(SSchJob *pJob, SSchTask *pTask) {
int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet *pEpSet, int32_t rspCode) {
SSchRedirectCtx *pCtx = &pTask->redirectCtx;
if (JOB_TASK_STATUS_EXEC == pTask->status) {
SCH_TASK_DLOG("task not start yet, rspCode:%d", rspCode);
return TSDB_CODE_SUCCESS;
}
if (!pCtx->inRedirect) {
pCtx->inRedirect = true;
pCtx->periodMs = tsRedirectPeriod;
@ -371,9 +366,11 @@ int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet *pEpSet,
if (SCH_IS_DATA_BIND_TASK(pTask)) {
if (pEpSet) {
pCtx->roundTotal = pEpSet->numOfEps;
} else {
} else if (pTask->candidateAddrs && taosArrayGetSize(pTask->candidateAddrs) > 0) {
SQueryNodeAddr *pAddr = taosArrayGet(pTask->candidateAddrs, 0);
pCtx->roundTotal = pAddr->epSet.numOfEps;
} else {
pCtx->roundTotal = SCH_DEFAULT_RETRY_TOTAL_ROUND;
}
} else {
pCtx->roundTotal = 1;