summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeandro Pacheco <leandro.pacheco@galeracluster.com>2021-09-13 11:20:22 -0300
committerJan Lindström <jan.lindstrom@mariadb.com>2021-12-23 11:51:31 +0200
commit0165a0632256a30fcb5b55b677ca5927478d1212 (patch)
tree153834fd7333c64bb7f88d11d0efd97b77ef01d5
parentca2ea4ff4178d097ac2d939b8fd88ea658ed64dc (diff)
downloadmariadb-git-bb-10.4-MDEV-26803-galera.tar.gz
result of wsrep logic in queue_for_group_commit was being ignoredbb-10.4-MDEV-26803-galera
This could cause out of order wsrep checkpoints due wsrep specific leader code not being executed in `MYSQL_BIN_LOG::write_transaction_to_binlog_events`. Move original result assignment to before wsrep logic to prevent that. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-rw-r--r--sql/log.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/log.cc b/sql/log.cc
index fbe7c78c4ac..c5a192d56d3 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -7768,6 +7768,8 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry)
cur= entry->thd->wait_for_commit_ptr;
}
+ result= orig_queue == NULL;
+
#ifdef WITH_WSREP
if (wsrep_is_active(entry->thd) &&
wsrep_run_commit_hook(entry->thd, entry->all))
@@ -7791,7 +7793,6 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry)
DBUG_PRINT("info", ("Queued for group commit as %s",
(orig_queue == NULL) ? "leader" : "participant"));
- result= orig_queue == NULL;
end:
if (backup_lock_released)