提交 78521883 编写于 作者: M Minghao Li

enh(sync): add privateTerm into SSyncSnapshotSender, SyncAppendEntries, SyncAppendEntriesReply

上级 305f4a85
...@@ -301,6 +301,7 @@ typedef struct SyncAppendEntries { ...@@ -301,6 +301,7 @@ typedef struct SyncAppendEntries {
SyncIndex prevLogIndex; SyncIndex prevLogIndex;
SyncTerm prevLogTerm; SyncTerm prevLogTerm;
SyncIndex commitIndex; SyncIndex commitIndex;
SyncTerm privateTerm;
uint32_t dataLen; uint32_t dataLen;
char data[]; char data[];
} SyncAppendEntries; } SyncAppendEntries;
...@@ -332,6 +333,7 @@ typedef struct SyncAppendEntriesReply { ...@@ -332,6 +333,7 @@ typedef struct SyncAppendEntriesReply {
SRaftId destId; SRaftId destId;
// private data // private data
SyncTerm term; SyncTerm term;
SyncTerm privateTerm;
bool success; bool success;
SyncIndex matchIndex; SyncIndex matchIndex;
} SyncAppendEntriesReply; } SyncAppendEntriesReply;
......
...@@ -47,6 +47,7 @@ typedef struct SSyncSnapshotSender { ...@@ -47,6 +47,7 @@ typedef struct SSyncSnapshotSender {
SSyncNode *pSyncNode; SSyncNode *pSyncNode;
int32_t replicaIndex; int32_t replicaIndex;
SyncTerm term; SyncTerm term;
SyncTerm privateTerm;
bool finish; bool finish;
} SSyncSnapshotSender; } SSyncSnapshotSender;
......
...@@ -1343,6 +1343,9 @@ cJSON* syncAppendEntries2Json(const SyncAppendEntries* pMsg) { ...@@ -1343,6 +1343,9 @@ cJSON* syncAppendEntries2Json(const SyncAppendEntries* pMsg) {
snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->term); snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->term);
cJSON_AddStringToObject(pRoot, "term", u64buf); cJSON_AddStringToObject(pRoot, "term", u64buf);
snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->privateTerm);
cJSON_AddStringToObject(pRoot, "privateTerm", u64buf);
snprintf(u64buf, sizeof(u64buf), "%ld", pMsg->prevLogIndex); snprintf(u64buf, sizeof(u64buf), "%ld", pMsg->prevLogIndex);
cJSON_AddStringToObject(pRoot, "prevLogIndex", u64buf); cJSON_AddStringToObject(pRoot, "prevLogIndex", u64buf);
...@@ -1504,6 +1507,9 @@ cJSON* syncAppendEntriesReply2Json(const SyncAppendEntriesReply* pMsg) { ...@@ -1504,6 +1507,9 @@ cJSON* syncAppendEntriesReply2Json(const SyncAppendEntriesReply* pMsg) {
cJSON_AddNumberToObject(pDestId, "vgId", pMsg->destId.vgId); cJSON_AddNumberToObject(pDestId, "vgId", pMsg->destId.vgId);
cJSON_AddItemToObject(pRoot, "destId", pDestId); cJSON_AddItemToObject(pRoot, "destId", pDestId);
snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->privateTerm);
cJSON_AddStringToObject(pRoot, "privateTerm", u64buf);
snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->term); snprintf(u64buf, sizeof(u64buf), "%lu", pMsg->term);
cJSON_AddStringToObject(pRoot, "term", u64buf); cJSON_AddStringToObject(pRoot, "term", u64buf);
cJSON_AddNumberToObject(pRoot, "success", pMsg->success); cJSON_AddNumberToObject(pRoot, "success", pMsg->success);
......
...@@ -275,6 +275,8 @@ cJSON *snapshotSender2Json(SSyncSnapshotSender *pSender) { ...@@ -275,6 +275,8 @@ cJSON *snapshotSender2Json(SSyncSnapshotSender *pSender) {
cJSON_AddNumberToObject(pRoot, "replicaIndex", pSender->replicaIndex); cJSON_AddNumberToObject(pRoot, "replicaIndex", pSender->replicaIndex);
snprintf(u64buf, sizeof(u64buf), "%lu", pSender->term); snprintf(u64buf, sizeof(u64buf), "%lu", pSender->term);
cJSON_AddStringToObject(pRoot, "term", u64buf); cJSON_AddStringToObject(pRoot, "term", u64buf);
snprintf(u64buf, sizeof(u64buf), "%lu", pSender->privateTerm);
cJSON_AddStringToObject(pRoot, "privateTerm", u64buf);
cJSON_AddNumberToObject(pRoot, "finish", pSender->finish); cJSON_AddNumberToObject(pRoot, "finish", pSender->finish);
} }
......
...@@ -22,6 +22,8 @@ SyncAppendEntriesReply *createMsg() { ...@@ -22,6 +22,8 @@ SyncAppendEntriesReply *createMsg() {
pMsg->destId.vgId = 100; pMsg->destId.vgId = 100;
pMsg->success = true; pMsg->success = true;
pMsg->matchIndex = 77; pMsg->matchIndex = 77;
pMsg->term = 33;
pMsg->privateTerm = 44;
return pMsg; return pMsg;
} }
......
...@@ -23,6 +23,7 @@ SyncAppendEntries *createMsg() { ...@@ -23,6 +23,7 @@ SyncAppendEntries *createMsg() {
pMsg->prevLogIndex = 11; pMsg->prevLogIndex = 11;
pMsg->prevLogTerm = 22; pMsg->prevLogTerm = 22;
pMsg->commitIndex = 33; pMsg->commitIndex = 33;
pMsg->privateTerm = 44;
strcpy(pMsg->data, "hello world"); strcpy(pMsg->data, "hello world");
return pMsg; return pMsg;
} }
......
...@@ -40,6 +40,7 @@ SSyncSnapshotSender* createSender() { ...@@ -40,6 +40,7 @@ SSyncSnapshotSender* createSender() {
pSyncNode->pFsm->FpSnapshotStartRead = SnapshotStartRead; pSyncNode->pFsm->FpSnapshotStartRead = SnapshotStartRead;
pSyncNode->pFsm->FpSnapshotStopRead = SnapshotStopRead; pSyncNode->pFsm->FpSnapshotStopRead = SnapshotStopRead;
pSyncNode->pFsm->FpSnapshotDoRead = SnapshotDoRead; pSyncNode->pFsm->FpSnapshotDoRead = SnapshotDoRead;
pSyncNode->pFsm->FpGetSnapshot = GetSnapshot;
SSyncSnapshotSender* pSender = snapshotSenderCreate(pSyncNode, 2); SSyncSnapshotSender* pSender = snapshotSenderCreate(pSyncNode, 2);
pSender->start = true; pSender->start = true;
...@@ -54,6 +55,7 @@ SSyncSnapshotSender* createSender() { ...@@ -54,6 +55,7 @@ SSyncSnapshotSender* createSender() {
pSender->snapshot.lastApplyTerm = 88; pSender->snapshot.lastApplyTerm = 88;
pSender->sendingMS = 77; pSender->sendingMS = 77;
pSender->term = 66; pSender->term = 66;
pSender->privateTerm = 99;
return pSender; return pSender;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册