summaryrefslogtreecommitdiff
path: root/sql/log.h
diff options
context:
space:
mode:
authorAndrei <andrei.elkin@mariadb.com>2022-06-30 15:46:19 +0300
committerAndrei <andrei.elkin@mariadb.com>2022-07-26 16:01:14 +0300
commit8d238d47268bcd7470abed147d79eb9546b28ac4 (patch)
treedad53b0525dbd2f91aed017dbb25bb32e9e91f94 /sql/log.h
parent552919d041c474d967701673c869edcc49081f84 (diff)
downloadmariadb-git-8d238d47268bcd7470abed147d79eb9546b28ac4.tar.gz
MDEV-28609 refine gtid-strict-mode to ignore same server-id gtid from the past
... on semisync slave To provide semisync master crash-recovery the same server-id transactions were made to accept for execution on the semisync slave when the strict gtid mode (see MDEV-27760). That however caused out-of-order error on a master's transaction server of the circular setup. The error was fair in the sense of the gtid strict mode rule as indeed under the condition of the circular setup the replicated transaction already exists in the local binlog. This is fixed by the commit to ignore on the gtid strict mode semisync slave those gtids that exist in the slave's binlog that effectively restores the default same-server-id ignore policy. At the same time the fixes complies with MDEV-21117 semisync slave recovery to accept the same server-id transactions that do not exist in local binlog.
Diffstat (limited to 'sql/log.h')
-rw-r--r--sql/log.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/log.h b/sql/log.h
index 516fb36adb9..aec48263d84 100644
--- a/sql/log.h
+++ b/sql/log.h
@@ -920,7 +920,7 @@ public:
bool lookup_domain_in_binlog_state(uint32 domain_id, rpl_gtid *out_gtid);
int bump_seq_no_counter_if_needed(uint32 domain_id, uint64 seq_no);
bool check_strict_gtid_sequence(uint32 domain_id, uint32 server_id,
- uint64 seq_no);
+ uint64 seq_no, bool no_error= false);
/**
* used when opening new file, and binlog_end_pos moves backwards