From d35bf6186fcfe65532d91a61261b724a7ccda3a4 Mon Sep 17 00:00:00 2001 From: Benguang Zhao Date: Thu, 23 Nov 2023 13:15:56 +0800 Subject: [PATCH] enh: skip restoring a vnode of single replica in failed mode from vmProcessCreateVnodeReq --- source/dnode/mgmt/mgmt_vnode/src/vmHandle.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c index 670eb48bd2..c4c8a51d6b 100644 --- a/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c +++ b/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c @@ -281,8 +281,8 @@ int32_t vmProcessCreateVnodeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) { vmGenerateWrapperCfg(pMgmt, &req, &wrapperCfg); - SVnodeObj *pVnode = vmAcquireVnode(pMgmt, req.vgId); - if (pVnode != NULL) { + SVnodeObj *pVnode = vmAcquireVnodeImpl(pMgmt, req.vgId, false); + if (pVnode != NULL && (req.replica == 1 || !pVnode->failed)) { dError("vgId:%d, already exist", req.vgId); tFreeSCreateVnodeReq(&req); vmReleaseVnode(pMgmt, pVnode);