fix/TS-5805-check-arb-msg

This commit is contained in:
dmchen 2025-02-11 01:47:52 +00:00
parent 966e36bc83
commit 13d0a9b5e2
1 changed files with 14 additions and 4 deletions

View File

@ -8295,8 +8295,6 @@ int32_t tSerializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpdat
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->assignedLeader.dnodeId));
TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pGroup->assignedLeader.token));
TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->version));
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->code));
TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->updateTimeMs));
}
for (int32_t i = 0; i < sz; i++) {
@ -8304,6 +8302,12 @@ int32_t tSerializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpdat
TAOS_CHECK_EXIT(tEncodeI8(&encoder, pGroup->assignedLeader.acked));
}
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup *pGroup = taosArrayGet(pReq->updateArray, i);
TAOS_CHECK_EXIT(tEncodeI32(&encoder, pGroup->code));
TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->updateTimeMs));
}
tEndEncode(&encoder);
_exit:
@ -8350,8 +8354,6 @@ int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpd
TAOS_CHECK_EXIT(tDecodeCStrTo(&decoder, group.assignedLeader.token));
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.version));
group.assignedLeader.acked = false;
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &group.code));
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.updateTimeMs));
if (taosArrayPush(updateArray, &group) == NULL) {
TAOS_CHECK_EXIT(terrno);
@ -8365,6 +8367,14 @@ int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen, SMArbUpd
}
}
if (!tDecodeIsEnd(&decoder)) {
for (int32_t i = 0; i < sz; i++) {
SMArbUpdateGroup *pGroup = taosArrayGet(updateArray, i);
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &pGroup->code));
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &pGroup->updateTimeMs));
}
}
pReq->updateArray = updateArray;
tEndDecode(&decoder);