From fefa90bb5da0fced072ce4122fc863cbab4a7552 Mon Sep 17 00:00:00 2001 From: obdev Date: Wed, 12 Oct 2022 03:03:17 +0000 Subject: [PATCH] [CP] [FIX] Participants serialize size may calculate twice when retry prepare request --- src/storage/transaction/ob_trans_part_ctx.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storage/transaction/ob_trans_part_ctx.cpp b/src/storage/transaction/ob_trans_part_ctx.cpp index c5c8a059e..70622ef6c 100644 --- a/src/storage/transaction/ob_trans_part_ctx.cpp +++ b/src/storage/transaction/ob_trans_part_ctx.cpp @@ -12286,7 +12286,8 @@ int ObPartTransCtx::calc_serialize_size_and_set_participants_(const ObPartitionA int ObPartTransCtx::do_calc_and_set_participants_(const ObPartitionArray &participants) { int ret = OB_SUCCESS; - int64_t participants_serialize_size = participants_.get_serialize_size() + participants.get_serialize_size(); + // only get serialize size from parameter + int64_t participants_serialize_size = participants.get_serialize_size(); int64_t undo_serialize_size = undo_status_.get_serialize_size(); int64_t redo_log_id_serialize_size = prev_redo_log_ids_.get_serialize_size(); bool has_redo_log = false; -- GitLab