summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2022-03-28 18:22:11 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2022-03-28 18:22:11 +0530
commitbaf536a840ececf649cdf9857f1e08bc0b29a180 (patch)
treee7f143f2274ced30c4e9de3578fd43c317bb8e82
parent69d7fea04f471386c406add11d9248565e2d3379 (diff)
downloadmariadb-git-baf536a840ececf649cdf9857f1e08bc0b29a180.tar.gz
- Concurrent DML apply shouldn't take locking when transaction is being
committed.
-rw-r--r--storage/innobase/row/row0ins.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/storage/innobase/row/row0ins.cc b/storage/innobase/row/row0ins.cc
index 95ecce4d8d5..36b92371acb 100644
--- a/storage/innobase/row/row0ins.cc
+++ b/storage/innobase/row/row0ins.cc
@@ -2900,6 +2900,9 @@ row_ins_sec_index_entry_low(
ut_ad(flags & BTR_NO_LOCKING_FLAG);
mtr.set_log_mode(MTR_LOG_NO_REDO);
} else {
+ if (!index->is_committed()
+ && index->online_status == ONLINE_INDEX_COMPLETE)
+ flags = BTR_NO_LOCKING_FLAG;
index->set_modified(mtr);
if (!dict_index_is_spatial(index)) {
search_mode |= BTR_INSERT;