From e38aeda53ef16ca4e50579dc4a904ce969625a9c Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Thu, 6 Jan 2022 16:07:16 +0800 Subject: [PATCH] feature/qnode --- source/libs/catalog/src/catalog.c | 4 ++-- source/libs/scheduler/src/scheduler.c | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/source/libs/catalog/src/catalog.c b/source/libs/catalog/src/catalog.c index 8074027698..58b61acb0d 100644 --- a/source/libs/catalog/src/catalog.c +++ b/source/libs/catalog/src/catalog.c @@ -450,7 +450,7 @@ int32_t ctgMetaRentInit(SMetaRentMgmt *mgmt, uint32_t rentSec, int8_t type) { int32_t ctgMetaRentAdd(SMetaRentMgmt *mgmt, void *meta, int64_t id, int32_t size) { - int16_t widx = id % mgmt->slotNum; + int16_t widx = abs(id % mgmt->slotNum); SRentSlotInfo *slot = &mgmt->slots[widx]; int32_t code = 0; @@ -482,7 +482,7 @@ _return: } int32_t ctgMetaRentUpdate(SMetaRentMgmt *mgmt, void *meta, int64_t id, int32_t size, __compar_fn_t compare) { - int16_t widx = id % mgmt->slotNum; + int16_t widx = abs(id % mgmt->slotNum); SRentSlotInfo *slot = &mgmt->slots[widx]; int32_t code = 0; diff --git a/source/libs/scheduler/src/scheduler.c b/source/libs/scheduler/src/scheduler.c index 832084154c..4217dc6966 100644 --- a/source/libs/scheduler/src/scheduler.c +++ b/source/libs/scheduler/src/scheduler.c @@ -509,7 +509,7 @@ int32_t schProcessRspMsg(SSchJob *job, SSchTask *task, int32_t msgType, char *ms break; } case TDMT_VND_SUBMIT_RSP: { - if (rspCode != TSDB_CODE_SUCCESS) { + if (rspCode != TSDB_CODE_SUCCESS || NULL == msg) { SCH_ERR_JRET(schProcessOnTaskFailure(job, task, rspCode)); } else { SShellSubmitRspMsg *rsp = (SShellSubmitRspMsg *)msg; @@ -525,7 +525,7 @@ int32_t schProcessRspMsg(SSchJob *job, SSchTask *task, int32_t msgType, char *ms case TDMT_VND_QUERY_RSP: { SQueryTableRsp *rsp = (SQueryTableRsp *)msg; - if (rsp->code != TSDB_CODE_SUCCESS) { + if (rsp->code != TSDB_CODE_SUCCESS || NULL == msg) { SCH_ERR_JRET(schProcessOnTaskFailure(job, task, rsp->code)); } else { code = schBuildAndSendMsg(job, task, TDMT_VND_RES_READY); @@ -538,7 +538,7 @@ int32_t schProcessRspMsg(SSchJob *job, SSchTask *task, int32_t msgType, char *ms case TDMT_VND_RES_READY_RSP: { SResReadyRsp *rsp = (SResReadyRsp *)msg; - if (rsp->code != TSDB_CODE_SUCCESS) { + if (rsp->code != TSDB_CODE_SUCCESS || NULL == msg) { SCH_ERR_JRET(schProcessOnTaskFailure(job, task, rsp->code)); } else { code = schProcessOnTaskSuccess(job, task); @@ -553,7 +553,9 @@ int32_t schProcessRspMsg(SSchJob *job, SSchTask *task, int32_t msgType, char *ms SRetrieveTableRsp *rsp = (SRetrieveTableRsp *)msg; job->res = rsp; - job->resNumOfRows = rsp->numOfRows; + if (rsp) { + job->resNumOfRows = rsp->numOfRows; + } SCH_ERR_JRET(schProcessOnDataFetched(job)); break;