File tree Expand file tree Collapse file tree 4 files changed +65
-1
lines changed Expand file tree Collapse file tree 4 files changed +65
-1
lines changed Original file line number Diff line number Diff line change
1
+ #
2
+ # MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
3
+ # InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno
4
+ #
5
+ CREATE TABLE t1 (i INT) ENGINE=InnoDB;
6
+ START TRANSACTION;
7
+ INSERT INTO t1 VALUES (1);
8
+ INSERT INTO t1 VALUES (2);
9
+ COMMIT;
10
+ SELECT * FROM t1;
11
+ i
12
+ 1
13
+ 2
14
+ DROP TABLE t1;
Original file line number Diff line number Diff line change 5
5
--source include/galera_cluster.inc
6
6
--source include/have_innodb.inc
7
7
8
+ --disable_query_log
9
+ # Save original auto_increment_offset values.
10
+ --connection node_1
11
+ let $auto_increment_offset_node_1 = `SELECT @@global.auto_increment_offset`;
12
+ --connection node_2
13
+ let $auto_increment_offset_node_2 = `SELECT @@global.auto_increment_offset`;
14
+ --enable_query_log
15
+
8
16
--connection node_2
9
17
--let $wsrep_cluster_address_saved = `SELECT @@global.wsrep_cluster_address`
10
18
@@ -41,6 +49,14 @@ SELECT * FROM t1;
41
49
# Cleanup
42
50
DROP TABLE t1;
43
51
52
+ --disable_query_log
53
+ # Restore original auto_increment_offset values.
54
+ --connection node_1
55
+ --eval SET @@global.auto_increment_offset = $auto_increment_offset_node_1;
56
+ --connection node_2
57
+ --eval SET @@global.auto_increment_offset = $auto_increment_offset_node_2;
58
+ --enable_query_log
59
+
44
60
--source include/galera_end.inc
45
61
--echo # End of test
46
62
Original file line number Diff line number Diff line change
1
+ --source include/galera_cluster.inc
2
+ --source include/have_innodb.inc
3
+
4
+ --echo #
5
+ --echo # MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
6
+ --echo # InnoDB: Failing assertion: xid_seqno > trx_sys_cur_xid_seqno
7
+ --echo #
8
+
9
+ --connection node_1
10
+ CREATE TABLE t1 (i INT) ENGINE=InnoDB;
11
+
12
+ --connection node_2
13
+ # Note: a multi-statement transaction should always be the "first" one to execute
14
+ # on this node.
15
+ START TRANSACTION;
16
+ INSERT INTO t1 VALUES (1);
17
+ INSERT INTO t1 VALUES (2);
18
+ COMMIT;
19
+
20
+ --connection node_1
21
+ SELECT * FROM t1;
22
+ DROP TABLE t1;
23
+
24
+ --source include/galera_end.inc
Original file line number Diff line number Diff line change @@ -5140,10 +5140,20 @@ static int init_server_components()
5140
5140
THD *current_thd_saved= current_thd;
5141
5141
set_current_thd (tmp);
5142
5142
5143
+ /*
5144
+ Also save/restore server_status and variables.option_bits and they
5145
+ get altered during init_for_queries().
5146
+ */
5147
+ unsigned int server_status_saved= tmp->server_status ;
5148
+ ulonglong option_bits_saved= tmp->variables .option_bits ;
5149
+
5143
5150
tmp->init_for_queries ();
5144
5151
5145
5152
/* Restore current_thd. */
5146
5153
set_current_thd (current_thd_saved);
5154
+
5155
+ tmp->server_status = server_status_saved;
5156
+ tmp->variables .option_bits = option_bits_saved;
5147
5157
}
5148
5158
}
5149
5159
mysql_mutex_unlock (&LOCK_thread_count);
@@ -5511,7 +5521,7 @@ pthread_handler_t start_wsrep_THD(void *arg)
5511
5521
WSREP_ERROR (" Failed to create/initialize system thread" );
5512
5522
5513
5523
/* Abort if its the first applier/rollbacker thread. */
5514
- if (wsrep_creating_startup_threads < 2 )
5524
+ if (wsrep_creating_startup_threads == 1 )
5515
5525
unireg_abort (1 );
5516
5526
else
5517
5527
return NULL ;
You can’t perform that action at this time.
0 commit comments