Skip to content

Commit 33af557

Browse files
janlindstromsysprg
authored andcommitted
MDEV-25731 : Assertion `mode_ == m_local' failed in void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)
Problem was that if wsrep_load_data_splitting was used streaming replication (SR) parameters were set for MyISAM table. Galera does not currently support SR for MyISAM. Fix is to ignore wsrep_load_data_splitting setting (with warning) if table is not InnoDB table. This is 10.6+ case of fix. Signed-off-by: Julius Goryavsky <julius.goryavsky@mariadb.com>
1 parent 4aa9291 commit 33af557

File tree

2 files changed

+28
-12
lines changed

2 files changed

+28
-12
lines changed

mysql-test/suite/galera/r/MDEV-25731.result

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ connection node_1;
44
SET GLOBAL wsrep_load_data_splitting=ON;
55
Warnings:
66
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
7-
SET GLOBAL wsrep_replicate_myisam=ON;
8-
Warnings:
9-
Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
7+
SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
108
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
119
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
1210
Warnings:
@@ -19,8 +17,11 @@ SELECT COUNT(*) AS EXPECT_6 FROM t1;
1917
EXPECT_6
2018
6
2119
connection node_1;
22-
ALTER TABLE t1 ENGINE=InnoDB;
20+
ALTER TABLE t1 ENGINE=Aria;
21+
SET GLOBAL wsrep_mode=REPLICATE_ARIA;
2322
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
23+
Warnings:
24+
Warning 1235 wsrep_load_data_splitting for other than InnoDB tables
2425
SELECT COUNT(*) AS EXPECT_12 FROM t1;
2526
EXPECT_12
2627
12
@@ -29,10 +30,18 @@ SELECT COUNT(*) AS EXPECT_12 FROM t1;
2930
EXPECT_12
3031
12
3132
connection node_1;
33+
ALTER TABLE t1 ENGINE=InnoDB;
34+
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
35+
SELECT COUNT(*) AS EXPECT_18 FROM t1;
36+
EXPECT_18
37+
18
38+
connection node_2;
39+
SELECT COUNT(*) AS EXPECT_18 FROM t1;
40+
EXPECT_18
41+
18
42+
connection node_1;
3243
DROP TABLE t1;
3344
SET GLOBAL wsrep_load_data_splitting=OFF;
3445
Warnings:
3546
Warning 1287 '@@wsrep_load_data_splitting' is deprecated and will be removed in a future release
36-
SET GLOBAL wsrep_replicate_myisam=OFF;
37-
Warnings:
38-
Warning 1287 '@@wsrep_replicate_myisam' is deprecated and will be removed in a future release. Please use '@@wsrep_mode=REPLICATE_MYISAM' instead
47+
SET GLOBAL wsrep_mode=DEFAULT;

mysql-test/suite/galera/t/MDEV-25731.test

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
--connection node_1
55
SET GLOBAL wsrep_load_data_splitting=ON;
6-
SET GLOBAL wsrep_replicate_myisam=ON;
6+
SET GLOBAL wsrep_mode=REPLICATE_MYISAM;
77
CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
88
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
99
SELECT COUNT(*) AS EXPECT_6 FROM t1;
@@ -12,16 +12,23 @@ SELECT COUNT(*) AS EXPECT_6 FROM t1;
1212
SELECT COUNT(*) AS EXPECT_6 FROM t1;
1313

1414
--connection node_1
15-
ALTER TABLE t1 ENGINE=InnoDB;
15+
ALTER TABLE t1 ENGINE=Aria;
16+
SET GLOBAL wsrep_mode=REPLICATE_ARIA;
1617
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
1718
SELECT COUNT(*) AS EXPECT_12 FROM t1;
1819

1920
--connection node_2
2021
SELECT COUNT(*) AS EXPECT_12 FROM t1;
2122

2223
--connection node_1
23-
DROP TABLE t1;
24-
SET GLOBAL wsrep_load_data_splitting=OFF;
25-
SET GLOBAL wsrep_replicate_myisam=OFF;
24+
ALTER TABLE t1 ENGINE=InnoDB;
25+
LOAD DATA INFILE '../../std_data/mdev-25731.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
26+
SELECT COUNT(*) AS EXPECT_18 FROM t1;
2627

28+
--connection node_2
29+
SELECT COUNT(*) AS EXPECT_18 FROM t1;
2730

31+
--connection node_1
32+
DROP TABLE t1;
33+
SET GLOBAL wsrep_load_data_splitting=OFF;
34+
SET GLOBAL wsrep_mode=DEFAULT;

0 commit comments

Comments
 (0)