mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 3f515a09ff
			
		
	
	
	3f515a09ff
	
	
	
		
			
			As a fix for MDEV-8208, for initial wsrep threads, the invocation of init_for_queries() was moved after plugins were initialized. Due to which, OPTION_BEGIN bit of wsrep applier THD (originally set in wsrep_replication_process) got reset due to implicit commit within init_for_queries(). As a result, events from a multi-statement transaction from another node were committed separately by the applier thread, which leads to an assertion as they all carry same seqno. Fixed by making sure that variable.option_bits are restored post init_for_queries(). Also restored server_status. Added a test case.
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			580 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			580 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| --source include/galera_cluster.inc
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
 | |
| --echo # InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno
 | |
| --echo #
 | |
| 
 | |
| --connection node_1
 | |
| CREATE TABLE t1 (i INT) ENGINE=InnoDB;
 | |
| 
 | |
| --connection node_2
 | |
| # Note: a multi-statement transaction should always be the "first" one to execute
 | |
| # on this node.
 | |
| START TRANSACTION;
 | |
| INSERT INTO t1 VALUES (1);
 | |
| INSERT INTO t1 VALUES (2);
 | |
| COMMIT;
 | |
| 
 | |
| --connection node_1
 | |
| SELECT * FROM t1;
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --source include/galera_end.inc
 |