Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 10.1, 10.0
-
Fix Version/s: 10.0.20
-
Component/s: Replication
-
Labels:
-
Environment:CentOS 6.6
Description
This issue only occurs when parallel replication is enabled. It seems configuration changes are not picked up after restarting the slave.
Reproduce:
On slave:
Configuration:
sql_mode='STRICT_TRANS_TABLES' group_concat_max_len=1024
On master:
SET SESSION binlog_format=statement;
drop table if exists testbreak; drop table if exists testdata;
create table testbreak (big text not null) engine=MyISAM;
create table testdata (part varchar(1024) not null) engine=MyISAM;
insert into testdata VALUES (REPEAT('a', 1024));
insert into testdata VALUES (REPEAT('a', 1024));
insert into testdata VALUES (REPEAT('a', 1024));
set session group_concat_max_len=4096;
insert into testbreak SELECT group_concat(part) FROM testdata;
On slave, witness:
Last_SQL_Error: Error 'Row 2 was cut by GROUP_CONCAT()' on query. Default database: 'mariadb_test'. Query: 'insert into testbreak SELECT group_concat(part) FROM testdata'
On slave, execute:
STOP SLAVE; SET GLOBAL group_concat_max_len=4096; START SLAVE;
On slave, witness:
Last_SQL_Error: Error 'Row 2 was cut by GROUP_CONCAT()' on query. Default database: 'mariadb_test'. Query: 'insert into testbreak SELECT group_concat(part) FROM testdata'
On slave, execute:
STOP SLAVE; SET GLOBAL slave_parallel_threads=0; START SLAVE;
Error goes away.
Gliffy Diagrams
Attachments
Issue Links
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Technically, the reason is understandable: even if the slave stops, parallel threads aren't, so they are not restarted, so they cannot pick up the changed value.
But from the users' perspective, the complaint is valid. I also have a vague (and maybe wrong) feeling it's been discussed before, but I don't remember the outcome. Assigning to Kristian Nielsen for further feedback.
See also
MDEV-8294regarding not terminated parallel threads.