handle random memory failure
This commit is contained in:
parent
ca8b25472b
commit
76f982e937
|
@ -1816,7 +1816,7 @@ int32_t doProcessMsgFromServerImpl(SRpcMsg* pMsg, SEpSet* pEpSet) {
|
||||||
.handleRefId = pMsg->info.refId,
|
.handleRefId = pMsg->info.refId,
|
||||||
.pEpSet = pEpSet};
|
.pEpSet = pEpSet};
|
||||||
|
|
||||||
if (pMsg->contLen > 0) {
|
if (pMsg->code != TSDB_CODE_OUT_OF_MEMORY && pMsg->contLen > 0) {
|
||||||
buf.pData = taosMemoryCalloc(1, pMsg->contLen);
|
buf.pData = taosMemoryCalloc(1, pMsg->contLen);
|
||||||
if (buf.pData == NULL) {
|
if (buf.pData == NULL) {
|
||||||
terrno = TSDB_CODE_OUT_OF_MEMORY;
|
terrno = TSDB_CODE_OUT_OF_MEMORY;
|
||||||
|
@ -2211,7 +2211,7 @@ static int32_t estimateJsonLen(SReqResultInfo* pResultInfo) {
|
||||||
static int32_t doConvertJson(SReqResultInfo* pResultInfo) {
|
static int32_t doConvertJson(SReqResultInfo* pResultInfo) {
|
||||||
int32_t numOfRows = pResultInfo->numOfRows;
|
int32_t numOfRows = pResultInfo->numOfRows;
|
||||||
int32_t numOfCols = pResultInfo->numOfCols;
|
int32_t numOfCols = pResultInfo->numOfCols;
|
||||||
bool needConvert = false;
|
bool needConvert = false;
|
||||||
for (int32_t i = 0; i < numOfCols; ++i) {
|
for (int32_t i = 0; i < numOfCols; ++i) {
|
||||||
if (pResultInfo->fields[i].type == TSDB_DATA_TYPE_JSON) {
|
if (pResultInfo->fields[i].type == TSDB_DATA_TYPE_JSON) {
|
||||||
needConvert = true;
|
needConvert = true;
|
||||||
|
@ -2400,8 +2400,8 @@ int32_t setResultDataPtr(SReqResultInfo* pResultInfo, bool convertUcs4) {
|
||||||
p += sizeof(int32_t);
|
p += sizeof(int32_t);
|
||||||
|
|
||||||
if (rows != pResultInfo->numOfRows || cols != pResultInfo->numOfCols) {
|
if (rows != pResultInfo->numOfRows || cols != pResultInfo->numOfCols) {
|
||||||
tscError("setResultDataPtr paras error:rows;%d numOfRows:%" PRId64 " cols:%d numOfCols:%d", rows, pResultInfo->numOfRows, cols,
|
tscError("setResultDataPtr paras error:rows;%d numOfRows:%" PRId64 " cols:%d numOfCols:%d", rows,
|
||||||
pResultInfo->numOfCols);
|
pResultInfo->numOfRows, cols, pResultInfo->numOfCols);
|
||||||
return TSDB_CODE_TSC_INTERNAL_ERROR;
|
return TSDB_CODE_TSC_INTERNAL_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2577,8 +2577,7 @@ int32_t setQueryResultFromRsp(SReqResultInfo* pResultInfo, const SRetrieveTableR
|
||||||
// TODO handle the compressed case
|
// TODO handle the compressed case
|
||||||
pResultInfo->totalRows += pResultInfo->numOfRows;
|
pResultInfo->totalRows += pResultInfo->numOfRows;
|
||||||
|
|
||||||
int32_t code =
|
int32_t code = setResultDataPtr(pResultInfo, convertUcs4);
|
||||||
setResultDataPtr(pResultInfo, convertUcs4);
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2017,7 +2017,9 @@ void cliHandleBatchReq(SCliThrd* pThrd, SCliReq* pReq) {
|
||||||
tWarn("%s conn %p failed to added to heap cache since %s", pInst->label, pConn, tstrerror(code));
|
tWarn("%s conn %p failed to added to heap cache since %s", pInst->label, pConn, tstrerror(code));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// TAOS_CHECK_GOTO(code, &lino, _exception);
|
if (code == TSDB_CODE_OUT_OF_MEMORY && pConn == NULL) {
|
||||||
|
TAOS_CHECK_GOTO(code, &lino, _exception);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue