Commit 0165a063 authored by Leandro Pacheco's avatar Leandro Pacheco Committed by Jan Lindström

result of wsrep logic in queue_for_group_commit was being ignored

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: default avatarJan Lindström <jan.lindstrom@mariadb.com>
parent ca2ea4ff
...@@ -7768,6 +7768,8 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry) ...@@ -7768,6 +7768,8 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry)
cur= entry->thd->wait_for_commit_ptr; cur= entry->thd->wait_for_commit_ptr;
} }
result= orig_queue == NULL;
#ifdef WITH_WSREP #ifdef WITH_WSREP
if (wsrep_is_active(entry->thd) && if (wsrep_is_active(entry->thd) &&
wsrep_run_commit_hook(entry->thd, entry->all)) wsrep_run_commit_hook(entry->thd, entry->all))
...@@ -7791,7 +7793,6 @@ MYSQL_BIN_LOG::queue_for_group_commit(group_commit_entry *orig_entry) ...@@ -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", DBUG_PRINT("info", ("Queued for group commit as %s",
(orig_queue == NULL) ? "leader" : "participant")); (orig_queue == NULL) ? "leader" : "participant"));
result= orig_queue == NULL;
end: end:
if (backup_lock_released) if (backup_lock_released)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment