mirror of
https://github.com/MariaDB/server.git
synced 2025-01-27 01:04:19 +01:00
3f114a0930
slave_applier_reset_xa_trans() should clear the THD::pseudo_thread_id when called to reset XA transaction state completely. Clearing when pseudo_thread_id models the binlog applier that handles BASE64-encoded events which possibly contain the pseudo_thread_id, allowing us to restore the pre-event's state of the connection's respective session var.
19 lines
527 B
Text
19 lines
527 B
Text
#
|
|
# MDEV-35046 SIGSEGV in list_delete in optimized builds when using pseudo_slave_mode
|
|
# https://jira.mariadb.org/browse/MDEV-35046
|
|
#
|
|
--source include/have_innodb.inc
|
|
SET pseudo_slave_mode=1;
|
|
CREATE TABLE t1 (c INT) ENGINE=InnoDB;
|
|
CREATE TABLE t2 (c INT) ENGINE=MEMORY;
|
|
XA START 'a';
|
|
INSERT INTO t1 VALUES (0);
|
|
CREATE TEMPORARY TABLE t1t (c INT) ENGINE=InnoDB;
|
|
INSERT INTO t1t VALUES (0);
|
|
XA END 'a';
|
|
XA PREPARE 'a';
|
|
OPTIMIZE TABLE t1t;
|
|
LOCK TABLE t2 READ;
|
|
XA COMMIT 'a';
|
|
--source include/restart_mysqld.inc
|
|
DROP TABLE t1, t2;
|