From 05fd6fcff727e0031bd181f5170ac2e82d7a935e Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 7 Nov 2022 16:40:19 +0000 Subject: [PATCH] set trans_type for the participant with upstream and empty part_arry --- src/storage/tx/ob_trans_part_ctx.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/storage/tx/ob_trans_part_ctx.cpp b/src/storage/tx/ob_trans_part_ctx.cpp index 80973ad439..9b86669319 100644 --- a/src/storage/tx/ob_trans_part_ctx.cpp +++ b/src/storage/tx/ob_trans_part_ctx.cpp @@ -3198,7 +3198,7 @@ int ObPartTransCtx::get_log_cb_(const bool need_final_cb, ObTxLogCb *&log_cb) if (free_cbs_.is_empty()) { ret = OB_TX_NOLOGCB; //TRANS_LOG(INFO, "all log cbs are busy now, try again later", K(ret), K(*this)); - } else if (free_cbs_.get_size() == RESERVE_LOG_CALLBACK_COUNT_FOR_FREEZING && + } else if (free_cbs_.get_size() <= RESERVE_LOG_CALLBACK_COUNT_FOR_FREEZING && ATOMIC_LOAD(&is_submitting_redo_log_for_freeze_) == false) { ret = OB_TX_NOLOGCB; //TRANS_LOG(INFO, "reserve log callback for freezing, try again later", K(ret), K(*this)); @@ -3874,6 +3874,8 @@ int ObPartTransCtx::replay_commit_info(const ObTxCommitInfoLog &commit_info_log, // } if (exec_info_.participants_.count() > 1) { exec_info_.trans_type_ = TransType::DIST_TRANS; + } else if (exec_info_.upstream_.is_valid()) { + exec_info_.trans_type_ = TransType::DIST_TRANS; } else if (is_sub2pc()) { exec_info_.trans_type_ = TransType::DIST_TRANS; } else {