diff --git a/source/dnode/mnode/impl/inc/mndTrans.h b/source/dnode/mnode/impl/inc/mndTrans.h index 8008eb76e7..7f039bc21f 100644 --- a/source/dnode/mnode/impl/inc/mndTrans.h +++ b/source/dnode/mnode/impl/inc/mndTrans.h @@ -84,6 +84,7 @@ void mndTransSetParallel(STrans *pTrans); void mndTransSetChangeless(STrans *pTrans); void mndTransSetOper(STrans *pTrans, EOperType oper); int32_t mndTransCheckConflict(SMnode *pMnode, STrans *pTrans); +int32_t mndTransCheckConflictWithCompact(SMnode *pMnode, STrans *pTrans); #ifndef BUILD_NO_CALL static int32_t mndTrancCheckConflict(SMnode *pMnode, STrans *pTrans) { return mndTransCheckConflict(pMnode, pTrans); diff --git a/source/dnode/mnode/impl/src/mndTrans.c b/source/dnode/mnode/impl/src/mndTrans.c index cecfb1fbf3..111d5b88ce 100644 --- a/source/dnode/mnode/impl/src/mndTrans.c +++ b/source/dnode/mnode/impl/src/mndTrans.c @@ -897,6 +897,10 @@ int32_t mndTransCheckConflict(SMnode *pMnode, STrans *pTrans) { return terrno; } + return 0; +} + +int32_t mndTransCheckConflictWithCompact(SMnode *pMnode, STrans *pTrans) { void *pIter = NULL; bool conflict = false; SCompactObj *pCompact = NULL; diff --git a/source/dnode/mnode/impl/src/mndVgroup.c b/source/dnode/mnode/impl/src/mndVgroup.c index d2da1f585b..0422bfabff 100644 --- a/source/dnode/mnode/impl/src/mndVgroup.c +++ b/source/dnode/mnode/impl/src/mndVgroup.c @@ -1954,7 +1954,7 @@ static int32_t mndRedistributeVgroup(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb, if (pTrans == NULL) goto _OVER; mndTransSetDbName(pTrans, pVgroup->dbName, NULL); - if (mndTransCheckConflict(pMnode, pTrans) != 0) goto _OVER; + if (mndTransCheckConflictWithCompact(pMnode, pTrans) != 0) goto _OVER; mndTransSetSerial(pTrans); mInfo("trans:%d, used to redistribute vgroup, vgId:%d", pTrans->id, pVgroup->vgId);