From 6e4638eae9d532f87278699baf6252afb8115b77 Mon Sep 17 00:00:00 2001 From: chinaxing Date: Mon, 16 May 2022 10:43:20 +0800 Subject: [PATCH] [CP]fix: decide snapshot-type incorrect when change tx-isolation during txn executing --- src/sql/ob_sql_trans_control.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sql/ob_sql_trans_control.cpp b/src/sql/ob_sql_trans_control.cpp index 6dbe3de7dc..f6624899b9 100644 --- a/src/sql/ob_sql_trans_control.cpp +++ b/src/sql/ob_sql_trans_control.cpp @@ -607,7 +607,8 @@ int ObSqlTransControl::decide_trans_read_interface_specs(const char* module, con const bool is_build_index_stmt = (stmt::T_BUILD_INDEX_SSTABLE == stmt_type); uint64_t tenant_id = session.get_effective_tenant_id(); const bool stmt_spec_snapshot_version_is_valid = session.has_valid_read_snapshot_version(); - int32_t isolation = session.get_tx_isolation(); + int32_t isolation = session.is_in_transaction() ? session.get_trans_desc().get_trans_param().get_isolation() + : session.get_tx_isolation(); const bool is_serializable_trans = (ObTransIsolation::SERIALIZABLE == isolation || ObTransIsolation::REPEATABLE_READ == isolation); -- GitLab