1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge 10.6 into 10.11

This commit is contained in:
Marko Mäkelä
2024-12-19 15:38:53 +02:00
129 changed files with 1398 additions and 1726 deletions

View File

@@ -10,6 +10,5 @@
#
##############################################################################
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()

View File

@@ -1,10 +1,12 @@
connection node_2;
connection node_1;
connection node_2;
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB;
insert into t1 values (NULL,1);
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
connection node_2a;
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
begin;
update t1 set a = 5;
connection node_2;

View File

@@ -1,8 +1,10 @@
connection node_2;
connection node_1;
connection node_2;
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
call mtr.add_suppression("WSREP: Trying to continue unpaused monitor");
connection node_1;
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
call mtr.add_suppression("WSREP: Trying to continue unpaused monitor");
CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2;
ALTER TABLE t1 add primary key(a);

View File

@@ -314,3 +314,14 @@ NEXTVAL(t)
connection node_1;
DROP TABLE t1;
DROP SEQUENCE t;
MDEV-33245 SIGSEGV in wsrep_check_sequence | Sql_cmd_alter_sequence::execute
CREATE TABLE t (a INT) ENGINE=InnoDB;
INSERT INTO t VALUES (0);
CREATE TABLE t1 (c VARCHAR) ENGINE=InnoDB;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') ENGINE=InnoDB' at line 1
ALTER SEQUENCE IF EXISTS t MINVALUE=1;
ERROR 42000: This version of MariaDB doesn't yet support 'CACHE without INCREMENT BY 0 in Galera cluster'
DROP TABLE t;
End of 10.5 tests

View File

@@ -7,11 +7,13 @@
#
--connection node_2
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
CREATE TABLE t1(a int not null primary key auto_increment,b int) engine=InnoDB;
insert into t1 values (NULL,1);
--connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2
--connection node_2a
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
begin;
update t1 set a = 5;

View File

@@ -3,9 +3,11 @@
--source include/big_test.inc
--connection node_2
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
call mtr.add_suppression("WSREP: Trying to continue unpaused monitor");
--connection node_1
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
call mtr.add_suppression("WSREP: Trying to continue unpaused monitor");
CREATE TABLE t1 ENGINE=InnoDB select 1 as a, 1 as b union select 2, 2;

View File

@@ -341,3 +341,18 @@ SELECT NEXTVAL(t);
--connection node_1
DROP TABLE t1;
DROP SEQUENCE t;
--echo
--echo MDEV-33245 SIGSEGV in wsrep_check_sequence | Sql_cmd_alter_sequence::execute
--echo
CREATE TABLE t (a INT) ENGINE=InnoDB;
INSERT INTO t VALUES (0);
--error ER_PARSE_ERROR
CREATE TABLE t1 (c VARCHAR) ENGINE=InnoDB;
--error ER_NOT_SUPPORTED_YET
ALTER SEQUENCE IF EXISTS t MINVALUE=1;
DROP TABLE t;
--echo End of 10.5 tests

View File

@@ -456,7 +456,7 @@ restore: t1 .ibd and .cfg files
SET SESSION debug_dbug=@saved_debug_dbug;
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
ALTER TABLE t1 IMPORT TABLESPACE;
ERROR HY000: Got error 42 'Tablespace not found' from ./test/t1.ibd
ERROR HY000: Got error 41 'Tablespace not found' from ./test/t1.ibd
SET SESSION debug_dbug=@saved_debug_dbug;
restore: t1 .ibd and .cfg files
SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";

View File

@@ -3,6 +3,10 @@
--source include/have_debug_sync.inc
--source include/not_embedded.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
# Two parallel connection with autoinc column after restart.
CREATE TABLE t1 (id INT AUTO_INCREMENT PRIMARY KEY)ENGINE=INNODB;

View File

@@ -5,6 +5,10 @@
--source include/have_innodb.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
let $have_deadlock=`select @@GLOBAL.innodb_deadlock_detect`;
connection default;

View File

@@ -1,6 +1,10 @@
--source include/have_innodb.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
CREATE TABLE t1 (
pkey int NOT NULL PRIMARY KEY,
c int

View File

@@ -2,6 +2,10 @@
--source include/have_debug_sync.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connect(cancel_purge,localhost,root,,)
# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point

View File

@@ -2,6 +2,10 @@
--source include/have_debug_sync.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point
# lock_trx_handle_wait_enter, waiting for upd_cont signal, which must be

View File

@@ -2,6 +2,10 @@
--source include/have_debug_sync.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
# Purge can cause deadlock in the test, requesting page's RW_X_LATCH for trx
# ids reseting, after trx 2 acqured RW_S_LATCH and suspended in debug sync point
# lock_trx_handle_wait_enter, waiting for upd_cont signal, which must be

View File

@@ -2,6 +2,10 @@
--source include/count_sessions.inc
--source include/default_charset.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
SET GLOBAL innodb_stats_persistent = 0;
--echo #

View File

@@ -1,6 +1,10 @@
--source include/have_innodb.inc
--source include/have_partition.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
#
# Check and select innodb lock type
#

View File

@@ -4,6 +4,10 @@
# Bug#42419 Server crash with "Pure virtual method called" on two concurrent connections
#
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--source include/not_embedded.inc
let $innodb_lock_wait_timeout= query_get_value(SHOW VARIABLES LIKE 'innodb_lock_wait_timeout%', Value, 1);

View File

@@ -1,5 +1,9 @@
--source include/have_innodb.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
#
# Bug #41453: Assertion `m_status == DA_ERROR' failed in
# Diagnostics_area::sql_errno

View File

@@ -6,6 +6,10 @@
# be heavier than ones that had not.
#
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
-- source include/have_innodb.inc
SET default_storage_engine=InnoDB;

View File

@@ -3,6 +3,10 @@
--source include/have_debug_sync.inc
--source include/count_sessions.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connect (pause_purge,localhost,root)
START TRANSACTION WITH CONSISTENT SNAPSHOT;

View File

@@ -3,6 +3,10 @@
--source include/have_debug.inc
--source include/have_debug_sync.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
INSERT INTO t VALUES (3);

View File

@@ -1,5 +1,9 @@
--source include/have_innodb.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--echo #
--echo # MDEV-26642 Weird SELECT view when a record is
--echo # modified to the same value by two transactions

View File

@@ -6,6 +6,9 @@
--echo #
call mtr.add_suppression("\\[Warning\\] InnoDB: Over 67 percent of the buffer pool");
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
CREATE TABLE t1 (col1 INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);

View File

@@ -4,6 +4,10 @@
--source include/innodb_stable_estimates.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
CREATE TABLE t1 (
pk INT,
f1 VARCHAR(10) NOT NULL,

View File

@@ -4,6 +4,10 @@
# concurrent CREATE OR REPLACE and transactional UPDATE
#
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--source include/have_innodb.inc
CREATE TABLE t1 (a INT, b INT) ENGINE=InnoDB;

View File

@@ -1,5 +1,9 @@
source include/have_innodb.inc;
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
#
# MDEV-20354 All but last insert ignored in InnoDB tables when table locked
#

View File

@@ -249,9 +249,33 @@ id title
7 mysql
TRUNCATE TABLE articles;
INSERT INTO articles(id, title) VALUES(1, 'mysql');
CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
BEGIN;
INSERT INTO t SET a=1;
SAVEPOINT t;
INSERT INTO articles(id, title) VALUES(2, 'mysql');
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
id title
1 mysql
ROLLBACK TO SAVEPOINT t;
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
id title
1 mysql
SELECT * FROM t;
a
1
COMMIT;
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
id title
1 mysql
BEGIN;
INSERT INTO t SET a=2;
INSERT INTO articles(id, title) VALUES(2, 'mysql');
ROLLBACK;
SELECT * FROM t;
a
1
DROP TABLE t;
INSERT INTO articles(id, title) VALUES(3, 'mysql');
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
id title

View File

@@ -366,12 +366,28 @@ TRUNCATE TABLE articles;
INSERT INTO articles(id, title) VALUES(1, 'mysql');
CREATE TABLE t(a INT PRIMARY KEY) ENGINE=InnoDB;
BEGIN;
INSERT INTO t SET a=1;
SAVEPOINT t;
INSERT INTO articles(id, title) VALUES(2, 'mysql');
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
ROLLBACK TO SAVEPOINT t;
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
SELECT * FROM t;
COMMIT;
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');
BEGIN;
INSERT INTO t SET a=2;
INSERT INTO articles(id, title) VALUES(2, 'mysql');
ROLLBACK;
SELECT * FROM t;
DROP TABLE t;
INSERT INTO articles(id, title) VALUES(3, 'mysql');
SELECT * FROM articles WHERE MATCH(title) AGAINST('mysql');

View File

@@ -91,7 +91,7 @@ restore: t1 .ibd and .cfg files
SET SESSION debug_dbug=@saved_debug_dbug;
SET SESSION debug_dbug="+d,ib_import_open_tablespace_failure";
ALTER TABLE t1 IMPORT TABLESPACE;
ERROR HY000: Got error 42 'Tablespace not found' from ./test/t1.ibd
ERROR HY000: Got error 41 'Tablespace not found' from ./test/t1.ibd
SET SESSION debug_dbug=@saved_debug_dbug;
restore: t1 .ibd and .cfg files
SET SESSION debug_dbug="+d,ib_import_check_bitmap_failure";

View File

@@ -2,6 +2,9 @@
--source include/have_innodb.inc
--source include/have_debug.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--echo *** Test all-to-all replication with --gtid-ignore-duplicates ***

View File

@@ -30,4 +30,13 @@ DROP USER u2;
set global server_audit_logging=off;
UNINSTALL PLUGIN ed25519;
UNINSTALL PLUGIN server_audit;
#
# MDEV-35604: SIGSEGV in filter_query_type | log_statement_ex / auditing
#
INSTALL PLUGIN server_audit SONAME 'server_audit';
SET GLOBAL server_audit_logging=ON;
SET STATEMENT max_error_count=1 SELECT 1;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1' at line 1
SET GLOBAL server_audit_logging=OFF;
UNINSTALL SONAME 'server_audit';
# end of 10.5 tests

View File

@@ -56,4 +56,20 @@ UNINSTALL PLUGIN ed25519;
UNINSTALL PLUGIN server_audit;
--enable_warnings
--echo #
--echo # MDEV-35604: SIGSEGV in filter_query_type | log_statement_ex / auditing
--echo #
INSTALL PLUGIN server_audit SONAME 'server_audit';
SET GLOBAL server_audit_logging=ON;
--ERROR ER_PARSE_ERROR
SET STATEMENT max_error_count=1 SELECT 1;
# Cleanup
SET GLOBAL server_audit_logging=OFF;
--disable_warnings
UNINSTALL SONAME 'server_audit';
--enable_warnings
--echo # end of 10.5 tests

View File

@@ -36,9 +36,9 @@ Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
FLUSH LOGS;
FOUND 1 /GTID 0-1-8 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-9 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-10 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-11 ddl/ in mysqlbinlog.out
#
# Clean up
#
@@ -63,9 +63,9 @@ ALTER TABLE t1 REPAIR PARTITION p0;
Table Op Msg_type Msg_text
test.t1 repair status OK
FLUSH LOGS;
FOUND 1 /GTID 0-1-14 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-15 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-16 ddl/ in mysqlbinlog.out
FOUND 1 /GTID 0-1-17 ddl/ in mysqlbinlog.out
#
# Clean up
#

View File

@@ -22,6 +22,10 @@
--let $rpl_topology=1->2
--source include/rpl_init.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connection server_1
FLUSH TABLES;
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;

View File

@@ -2,6 +2,9 @@
--source include/have_debug.inc
--source include/master-slave.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--echo MDEV-31655: Parallel replication deadlock victim preference code erroneously removed
# The problem was that InnoDB would choose the wrong deadlock victim.

View File

@@ -3,6 +3,10 @@
--source include/have_debug.inc
--source include/have_binlog_format_statement.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connection master
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t1(a INT) ENGINE=INNODB;

View File

@@ -5,6 +5,10 @@
--source include/have_debug_sync.inc
--source include/master-slave.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connection server_2
SET sql_log_bin=0;
CALL mtr.add_suppression("Commit failed due to failure of an earlier commit on which this one depends");

View File

@@ -7,6 +7,9 @@
call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
call mtr.add_suppression("Can't find record in 't1'");
call mtr.add_suppression("Can't find record in 't2'");
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connection server_1
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;

View File

@@ -3,6 +3,10 @@
--let $rpl_topology=1->2
--source include/rpl_init.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--connection server_1
ALTER TABLE mysql.gtid_slave_pos ENGINE=InnoDB;
CREATE TABLE t1 (a int PRIMARY KEY, b INT) ENGINE=InnoDB;

View File

@@ -9,6 +9,10 @@
--source include/have_perfschema.inc
--source include/master-slave.inc
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--let $xid_num = 19
--let $repeat = 17
--let $workers = 7

View File

@@ -2,6 +2,9 @@
--source include/master-slave.inc
call mtr.add_suppression("Deadlock found when trying to get lock; try restarting transaction");
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
--echo *** Provoke a deadlock on the slave, check that transaction retry succeeds. ***
--connection master

View File

@@ -1,6 +1,10 @@
source suite/versioning/engines.inc;
source suite/versioning/common.inc;
--disable_query_log
call mtr.add_suppression("InnoDB: Transaction was aborted due to ");
--enable_query_log
replace_result $sys_datatype_expl SYS_DATATYPE;
eval create table t1(
x int unsigned,