fix: deadlock of mnode if its state changed
This commit is contained in:
parent
b311b873a1
commit
c47e387d13
|
@ -170,12 +170,20 @@ static void mndBecomeFollower(struct SSyncFSM *pFsm) {
|
|||
SMnode *pMnode = pFsm->data;
|
||||
mDebug("vgId:1, become follower");
|
||||
|
||||
// clear old leader resource
|
||||
if (pMnode->syncMgmt.transId != 0) {
|
||||
pMnode->syncMgmt.transId = 0;
|
||||
tsem_post(&pMnode->syncMgmt.syncSem);
|
||||
}
|
||||
}
|
||||
|
||||
static void mndBecomeLeader(struct SSyncFSM *pFsm) {
|
||||
SMnode *pMnode = pFsm->data;
|
||||
mDebug("vgId:1, become leader");
|
||||
SMnode *pMnode = pFsm->data;
|
||||
|
||||
if (pMnode->syncMgmt.transId != 0) {
|
||||
pMnode->syncMgmt.transId = 0;
|
||||
tsem_post(&pMnode->syncMgmt.syncSem);
|
||||
}
|
||||
}
|
||||
|
||||
SSyncFSM *mndSyncMakeFsm(SMnode *pMnode) {
|
||||
|
|
|
@ -210,6 +210,8 @@ if $rows != 3 then
|
|||
return -1
|
||||
endi
|
||||
|
||||
sql_error select * from performance_schema.PERF_OFFSETS;
|
||||
|
||||
sql show create stable stb;
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
|
|
Loading…
Reference in New Issue