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(tEncodeI32(&encoder, pGroup->assignedLeader.dnodeId));
TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pGroup->assignedLeader.token)); TAOS_CHECK_EXIT(tEncodeCStr(&encoder, pGroup->assignedLeader.token));
TAOS_CHECK_EXIT(tEncodeI64(&encoder, pGroup->version)); 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++) { 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)); 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); tEndEncode(&encoder);
_exit: _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(tDecodeCStrTo(&decoder, group.assignedLeader.token));
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.version)); TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.version));
group.assignedLeader.acked = false; group.assignedLeader.acked = false;
TAOS_CHECK_EXIT(tDecodeI32(&decoder, &group.code));
TAOS_CHECK_EXIT(tDecodeI64(&decoder, &group.updateTimeMs));
if (taosArrayPush(updateArray, &group) == NULL) { if (taosArrayPush(updateArray, &group) == NULL) {
TAOS_CHECK_EXIT(terrno); 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; pReq->updateArray = updateArray;
tEndDecode(&decoder); tEndDecode(&decoder);