diff --git a/src/mnode/src/mnodeVgroup.c b/src/mnode/src/mnodeVgroup.c index ba1dc95619ab041fe9b224b0a375eac73f123a2e..ad71a83a28f749b3b5584a8e8c73cb34bd8e40af 100644 --- a/src/mnode/src/mnodeVgroup.c +++ b/src/mnode/src/mnodeVgroup.c @@ -903,6 +903,8 @@ static SCreateVnodeMsg *mnodeBuildVnodeMsg(SVgObj *pVgroup) { SDbObj *pDb = pVgroup->pDb; if (pDb == NULL) return NULL; + if (pVgroup->idPool == NULL) return NULL; + SCreateVnodeMsg *pVnode = rpcMallocCont(sizeof(SCreateVnodeMsg)); if (pVnode == NULL) return NULL; @@ -1057,6 +1059,11 @@ void mnodeSendCompactVgroupMsg(SVgObj *pVgroup) { } static void mnodeSendCreateVnodeMsg(SVgObj *pVgroup, SRpcEpSet *epSet, void *ahandle) { SCreateVnodeMsg *pCreate = mnodeBuildVnodeMsg(pVgroup); + if (pCreate == NULL) { + mError("vgId: %d, can not create vnode msg for send create vnode", pVgroup->vgId); + return; + } + SRpcMsg rpcMsg = { .ahandle = ahandle, .pCont = pCreate,