mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
MDEV-27536 invalid BINLOG_BASE64_EVENT and assertion Diagnostics_area:: !is_set()
The assert was caused by an error of XA transaction that had BINLOG 'base64_string' statement. The statement failed because of lack of checking whether the encoded replication event was handled by the slave applier thread. If it's not the slave applier no error should be generated, but it was in this case, see a test added. Fixed along with the idea borrowed the upstream to introduce a check of which applier executes the replication event and do not report any error if the applier is a regular server client.
This commit is contained in:
11
mysql-test/suite/binlog/r/binlog_xa_handling.result
Normal file
11
mysql-test/suite/binlog/r/binlog_xa_handling.result
Normal file
@@ -0,0 +1,11 @@
|
||||
connection default;
|
||||
CREATE TABLE t1(f1 int) ENGINE=Innodb;
|
||||
XA START '','';
|
||||
INSERT INTO t1 VALUES(10);
|
||||
BINLOG '
|
||||
SOgWTg8BAAAAbgAAAHIAAAAAAAQANS42LjMtbTUtZGVidWctbG9nAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAABI6BZOEzgNAAgAEgAEBAQEEgAAVgAEGggAAAAICAgCAAAAAAVAYI8=';
|
||||
XA END '';
|
||||
XA PREPARE '';
|
||||
XA ROLLBACK '';
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user