mariadb/storage/rocksdb/mysql-test/rocksdb_rpl/r/mdev12179.result
Monty 775cba4d0f MDEV-33145 Add FLUSH GLOBAL STATUS
- FLUSH GLOBAL STATUS now resets most global_status_vars.
  At this stage, this is mainly to be used for testing.
- FLUSH SESSION STATUS added as an alias for FLUSH STATUS.
- FLUSH STATUS does not require any privilege (before required RELOAD).
- FLUSH GLOBAL STATUS requires RELOAD privilege.
- All global status reset moved to FLUSH GLOBAL STATUS.
- Replication semisync status variables are now reset by
  FLUSH GLOBAL STATUS.
- In test cases, the only changes are:
  - Replace FLUSH STATUS with FLUSH GLOBAL STATUS
  - Replace FLUSH STATUS with FLUSH STATUS; FLUSH GLOBAL STATUS.
    This was only done in a few tests where the test was using SHOW STATUS
    for both local and global variables.
- Uptime_since_flush_status is now always provided, independent if
  ENABLED_PROFILING is enabled when compiling MariaDB.
- @@global.Uptime_since_flush_status is reset on FLUSH GLOBAL STATUS
  and @@session.Uptime_since_flush_status is reset on FLUSH SESSION STATUS.
- When connected, @@session.Uptime_since_flush_status is set to 0.
2024-05-27 12:39:03 +02:00

283 lines
7.8 KiB
Text

include/master-slave.inc
[connection master]
connection server_2;
include/stop_slave.inc
SET GLOBAL gtid_cleanup_batch_size = 999999999;
CHANGE MASTER TO master_use_gtid=slave_pos;
SET sql_log_bin=0;
CREATE TABLE mysql.gtid_slave_pos_innodb LIKE mysql.gtid_slave_pos;
ALTER TABLE mysql.gtid_slave_pos_innodb ENGINE=InnoDB;
CREATE TABLE mysql.gtid_slave_pos_rocksdb LIKE mysql.gtid_slave_pos;
ALTER TABLE mysql.gtid_slave_pos_rocksdb ENGINE=rocksdb;
CREATE TABLE mysql.gtid_slave_pos_myisam_redundant LIKE mysql.gtid_slave_pos;
CREATE TABLE mysql.gtid_slave_pos_innodb_redundant LIKE mysql.gtid_slave_pos;
ALTER TABLE mysql.gtid_slave_pos_innodb_redundant ENGINE=InnoDB;
call mtr.add_suppression("Ignoring redundant table.*since.*has the same storage engine");
include/start_slave.inc
connection server_1;
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM;
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=rocksdb;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1);
INSERT INTO t3 VALUES (1);
SELECT * FROM t1 ORDER BY a;
a
1
SELECT * FROM t2 ORDER BY a;
a
1
SELECT * FROM t3 ORDER BY a;
a
1
connection server_2;
SELECT * FROM t1 ORDER BY a;
a
1
SELECT * FROM t2 ORDER BY a;
a
1
SELECT * FROM t3 ORDER BY a;
a
1
SELECT * FROM mysql.gtid_slave_pos ORDER BY sub_id;
domain_id sub_id server_id seq_no
0 1 1 1
0 2 1 2
0 3 1 3
0 4 1 4
SELECT * FROM ( SELECT * FROM mysql.gtid_slave_pos_innodb
UNION ALL SELECT * FROM mysql.gtid_slave_pos_innodb_redundant) inner_select
ORDER BY sub_id;
domain_id sub_id server_id seq_no
0 5 1 5
SELECT * FROM mysql.gtid_slave_pos_rocksdb ORDER BY sub_id;
domain_id sub_id server_id seq_no
0 6 1 6
connection server_2;
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
SET sql_log_bin=0;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 0
INSERT INTO t1 VALUES (100);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 0
INSERT INTO t2 VALUES (101);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 0
INSERT INTO t3 VALUES (101);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 0
BEGIN;
INSERT INTO t3 VALUES (102);
INSERT INTO t2 VALUES (103);
COMMIT;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 1
BEGIN;
INSERT INTO t2 VALUES (104);
INSERT INTO t3 VALUES (105);
COMMIT;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 2
UPDATE t2, t3 SET t2.a=106, t3.a=107 WHERE t2.a=104 AND t3.a=105;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 3
SET sql_log_bin=1;
INSERT INTO t1 VALUES (200);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 3
INSERT INTO t2 VALUES (201);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 3
INSERT INTO t3 VALUES (201);
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 3
BEGIN;
INSERT INTO t3 VALUES (202);
INSERT INTO t2 VALUES (203);
COMMIT;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 4
BEGIN;
INSERT INTO t2 VALUES (204);
INSERT INTO t3 VALUES (205);
COMMIT;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 5
UPDATE t2, t3 SET t2.a=206, t3.a=207 WHERE t2.a=204 AND t3.a=205;
SHOW STATUS LIKE "Transactions_multi_engine";
Variable_name Value
Transactions_multi_engine 6
DELETE FROM t1 WHERE a >= 100;
DELETE FROM t2 WHERE a >= 100;
DELETE FROM t3 WHERE a >= 100;
connection server_1;
include/save_master_gtid.inc
connection server_2;
include/sync_with_master_gtid.inc
SELECT COUNT(*)>=10 FROM mysql.gtid_slave_pos;
COUNT(*)>=10
1
SELECT COUNT(*)>=10 FROM ( SELECT * FROM mysql.gtid_slave_pos_innodb
UNION ALL SELECT * FROM mysql.gtid_slave_pos_innodb_redundant) inner_select;
COUNT(*)>=10
1
SELECT COUNT(*)>=10 FROM mysql.gtid_slave_pos_rocksdb;
COUNT(*)>=10
1
SET GLOBAL gtid_cleanup_batch_size = 3;
connection server_2;
include/stop_slave.inc
SET sql_log_bin=0;
DROP TABLE mysql.gtid_slave_pos_rocksdb;
DROP TABLE mysql.gtid_slave_pos_myisam_redundant;
DROP TABLE mysql.gtid_slave_pos_innodb_redundant;
SET sql_log_bin=1;
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
include/start_slave.inc
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t1 VALUES (100);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t2 VALUES (101);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t3 VALUES (101);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 0
connection server_1;
BEGIN;
INSERT INTO t3 VALUES (102);
INSERT INTO t2 VALUES (103);
COMMIT;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 1
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 1
connection server_1;
BEGIN;
INSERT INTO t2 VALUES (104);
INSERT INTO t3 VALUES (105);
COMMIT;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 2
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 2
connection server_1;
UPDATE t2, t3 SET t2.a=106, t3.a=107 WHERE t2.a=104 AND t3.a=105;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 3
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 3
connection server_2;
connection server_2;
SHOW VARIABLES LIKE 'log_bin';
Variable_name Value
log_bin OFF
include/start_slave.inc
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t1 VALUES (200);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t2 VALUES (201);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 0
Transactions_multi_engine 0
connection server_1;
INSERT INTO t3 VALUES (201);
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 0
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 0
connection server_1;
BEGIN;
INSERT INTO t3 VALUES (202);
INSERT INTO t2 VALUES (203);
COMMIT;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 1
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 1
connection server_1;
BEGIN;
INSERT INTO t2 VALUES (204);
INSERT INTO t3 VALUES (205);
COMMIT;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 2
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 2
connection server_1;
UPDATE t2, t3 SET t2.a=206, t3.a=207 WHERE t2.a=204 AND t3.a=205;
connection server_2;
SHOW STATUS LIKE "%transactions%engine";
Variable_name Value
Rpl_transactions_multi_engine 3
Transactions_gtid_foreign_engine 1
Transactions_multi_engine 3
connection server_2;
SET sql_log_bin=0;
DROP TABLE mysql.gtid_slave_pos_innodb;
SET sql_log_bin=1;
connection server_1;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
include/rpl_end.inc