提交 1a22de76 编写于 作者: M Minghao Li

fix(sync) add multi mnodes

上级 14c95a0b
...@@ -363,28 +363,32 @@ int32_t syncNodeOnAppendEntriesCb(SSyncNode* ths, SyncAppendEntries* pMsg) { ...@@ -363,28 +363,32 @@ int32_t syncNodeOnAppendEntriesCb(SSyncNode* ths, SyncAppendEntries* pMsg) {
break; break;
} }
} }
ASSERT(hit == true);
SReConfigCbMeta cbMeta = {0};
bool isDrop; bool isDrop;
syncNodeUpdateConfig(ths, &newSyncCfg, &isDrop);
// I am in newConfig
// change isStandBy to normal if (hit) {
if (!isDrop) { syncNodeUpdateConfig(ths, &newSyncCfg, &isDrop);
if (ths->state == TAOS_SYNC_STATE_LEADER) {
syncNodeBecomeLeader(ths); // change isStandBy to normal
} else { if (!isDrop) {
syncNodeBecomeFollower(ths); if (ths->state == TAOS_SYNC_STATE_LEADER) {
syncNodeBecomeLeader(ths);
} else {
syncNodeBecomeFollower(ths);
}
} }
}
char* sOld = syncCfg2Str(&oldSyncCfg); char* sOld = syncCfg2Str(&oldSyncCfg);
char* sNew = syncCfg2Str(&newSyncCfg); char* sNew = syncCfg2Str(&newSyncCfg);
sInfo("==config change== 0x11 old:%s new:%s isDrop:%d \n", sOld, sNew, isDrop); sInfo("==config change== 0x11 old:%s new:%s isDrop:%d \n", sOld, sNew, isDrop);
taosMemoryFree(sOld); taosMemoryFree(sOld);
taosMemoryFree(sNew); taosMemoryFree(sNew);
}
if (ths->pFsm->FpReConfigCb != NULL) { // always call FpReConfigCb
SReConfigCbMeta cbMeta = {0}; if (ths->pFsm->FpReConfigCb != NULL) {
cbMeta.code = 0; cbMeta.code = 0;
cbMeta.currentTerm = ths->pRaftStore->currentTerm; cbMeta.currentTerm = ths->pRaftStore->currentTerm;
cbMeta.index = pEntry->index; cbMeta.index = pEntry->index;
......
...@@ -141,7 +141,10 @@ void syncMaybeAdvanceCommitIndex(SSyncNode* pSyncNode) { ...@@ -141,7 +141,10 @@ void syncMaybeAdvanceCommitIndex(SSyncNode* pSyncNode) {
break; break;
} }
} }
ASSERT(hit == true);
if (pSyncNode->state == TAOS_SYNC_STATE_LEADER) {
ASSERT(hit == true);
}
bool isDrop; bool isDrop;
syncNodeUpdateConfig(pSyncNode, &newSyncCfg, &isDrop); syncNodeUpdateConfig(pSyncNode, &newSyncCfg, &isDrop);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册