fix: task redirect issue
This commit is contained in:
parent
9a7fec10af
commit
cc1cf679e1
|
@ -61,6 +61,7 @@ typedef enum {
|
||||||
#define SCH_MAX_TASK_TIMEOUT_USEC 300000000
|
#define SCH_MAX_TASK_TIMEOUT_USEC 300000000
|
||||||
#define SCH_DEFAULT_MAX_RETRY_NUM 6
|
#define SCH_DEFAULT_MAX_RETRY_NUM 6
|
||||||
#define SCH_MIN_AYSNC_EXEC_NUM 3
|
#define SCH_MIN_AYSNC_EXEC_NUM 3
|
||||||
|
#define SCH_DEFAULT_RETRY_TOTAL_ROUND 3
|
||||||
|
|
||||||
typedef struct SSchDebug {
|
typedef struct SSchDebug {
|
||||||
bool lockEnable;
|
bool lockEnable;
|
||||||
|
|
|
@ -358,11 +358,6 @@ int32_t schRescheduleTask(SSchJob *pJob, SSchTask *pTask) {
|
||||||
|
|
||||||
int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet *pEpSet, int32_t rspCode) {
|
int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet *pEpSet, int32_t rspCode) {
|
||||||
SSchRedirectCtx *pCtx = &pTask->redirectCtx;
|
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) {
|
if (!pCtx->inRedirect) {
|
||||||
pCtx->inRedirect = true;
|
pCtx->inRedirect = true;
|
||||||
pCtx->periodMs = tsRedirectPeriod;
|
pCtx->periodMs = tsRedirectPeriod;
|
||||||
|
@ -371,9 +366,11 @@ int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet *pEpSet,
|
||||||
if (SCH_IS_DATA_BIND_TASK(pTask)) {
|
if (SCH_IS_DATA_BIND_TASK(pTask)) {
|
||||||
if (pEpSet) {
|
if (pEpSet) {
|
||||||
pCtx->roundTotal = pEpSet->numOfEps;
|
pCtx->roundTotal = pEpSet->numOfEps;
|
||||||
} else {
|
} else if (pTask->candidateAddrs && taosArrayGetSize(pTask->candidateAddrs) > 0) {
|
||||||
SQueryNodeAddr *pAddr = taosArrayGet(pTask->candidateAddrs, 0);
|
SQueryNodeAddr *pAddr = taosArrayGet(pTask->candidateAddrs, 0);
|
||||||
pCtx->roundTotal = pAddr->epSet.numOfEps;
|
pCtx->roundTotal = pAddr->epSet.numOfEps;
|
||||||
|
} else {
|
||||||
|
pCtx->roundTotal = SCH_DEFAULT_RETRY_TOTAL_ROUND;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
pCtx->roundTotal = 1;
|
pCtx->roundTotal = 1;
|
||||||
|
|
Loading…
Reference in New Issue