Merge pull request #15838 from taosdata/feature/3.0_mhli
refactor(sync): make leader life longer
This commit is contained in:
commit
ad55155897
|
@ -722,10 +722,12 @@ void vnodeSyncClose(SVnode *pVnode) { syncStop(pVnode->sync); }
|
||||||
|
|
||||||
bool vnodeIsLeader(SVnode *pVnode) {
|
bool vnodeIsLeader(SVnode *pVnode) {
|
||||||
if (!syncIsReady(pVnode->sync)) {
|
if (!syncIsReady(pVnode->sync)) {
|
||||||
|
vDebug("vgId:%d, vnode not ready", pVnode->config.vgId);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pVnode->restored) {
|
if (!pVnode->restored) {
|
||||||
|
vDebug("vgId:%d, vnode not restored", pVnode->config.vgId);
|
||||||
terrno = TSDB_CODE_APP_NOT_READY;
|
terrno = TSDB_CODE_APP_NOT_READY;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2668,7 +2668,22 @@ int32_t syncDoLeaderTransfer(SSyncNode* ths, SRpcMsg* pRpcMsg, SSyncRaftEntry* p
|
||||||
syncNodeEventLog(ths, "I am not follower, can not do leader transfer");
|
syncNodeEventLog(ths, "I am not follower, can not do leader transfer");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
syncNodeEventLog(ths, "do leader transfer");
|
|
||||||
|
if (!ths->restoreFinish) {
|
||||||
|
syncNodeEventLog(ths, "restore not finish, can not do leader transfer");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ths->vgId > 1) {
|
||||||
|
syncNodeEventLog(ths, "I am vnode, can not do leader transfer");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
do {
|
||||||
|
char logBuf[128];
|
||||||
|
snprintf(logBuf, sizeof(logBuf), "do leader transfer, index:%ld", pEntry->index);
|
||||||
|
syncNodeEventLog(ths, logBuf);
|
||||||
|
} while (0);
|
||||||
|
|
||||||
bool sameId = syncUtilSameId(&(pSyncLeaderTransfer->newLeaderId), &(ths->myRaftId));
|
bool sameId = syncUtilSameId(&(pSyncLeaderTransfer->newLeaderId), &(ths->myRaftId));
|
||||||
bool sameNodeInfo = strcmp(pSyncLeaderTransfer->newNodeInfo.nodeFqdn, ths->myNodeInfo.nodeFqdn) == 0 &&
|
bool sameNodeInfo = strcmp(pSyncLeaderTransfer->newNodeInfo.nodeFqdn, ths->myNodeInfo.nodeFqdn) == 0 &&
|
||||||
|
|
Loading…
Reference in New Issue