diff --git a/source/dnode/mnode/impl/src/mndQuery.c b/source/dnode/mnode/impl/src/mndQuery.c index e6e9cae100234216c663f65096e5d16ffe5cb90a..2beeb10335b02c6d08a75c0f2c498c825e56de54 100644 --- a/source/dnode/mnode/impl/src/mndQuery.c +++ b/source/dnode/mnode/impl/src/mndQuery.c @@ -105,12 +105,14 @@ int32_t mndProcessBatchMetaMsg(SRpcMsg *pMsg) { terrno = TSDB_CODE_MSG_NOT_PROCESSED; return -1; } - - code = (*fp)(&reqMsg); + if ((*fp)(&reqMsg)) { + rsp.rspCode = terrno; + } else { + rsp.rspCode = 0; + } rsp.reqType = reqMsg.msgType; rsp.msgLen = reqMsg.info.rspLen; - rsp.rspCode = code; rsp.msg = reqMsg.info.rsp; taosArrayPush(batchRsp, &rsp); diff --git a/source/libs/catalog/src/ctgRemote.c b/source/libs/catalog/src/ctgRemote.c index 3ec30ac39fec097ab8d390c131016c8600fa61bb..55bfc88a49f63cd2bf2a869f969e9e1e890746a0 100644 --- a/source/libs/catalog/src/ctgRemote.c +++ b/source/libs/catalog/src/ctgRemote.c @@ -27,7 +27,7 @@ int32_t ctgHandleBatchRsp(SCtgJob* pJob, SCtgTaskCallbackParam* cbParam, SDataBu int32_t taskNum = taosArrayGetSize(pTaskId); SDataBuf taskMsg = *pMsg; int32_t offset = 0; - int32_t msgNum = (pMsg->pData && (pMsg->len > 0)) ? ntohl(*(int32_t*)pMsg->pData) : 0; + int32_t msgNum = (TSDB_CODE_SUCCESS == rspCode && pMsg->pData && (pMsg->len > 0)) ? ntohl(*(int32_t*)pMsg->pData) : 0; ASSERT(taskNum == msgNum || 0 == msgNum); ctgDebug("QID:0x%" PRIx64 " ctg got batch %d rsp %s", pJob->queryId, cbParam->batchId, TMSG_INFO(cbParam->reqType + 1));