[MXS-4495] Slave stops on GTID gap caused by binlog filter Created: 2023-01-31  Updated: 2023-01-31  Resolved: 2023-01-31

Status: Closed
Project: MariaDB MaxScale
Component/s: binlogfilter, binlogrouter
Affects Version/s: 22.08.4
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Hartmut Holzgraefe Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None


 Description   

I tried to play with binlog router and filter, and while I got the binlog filter to work an actual slave behind it does not seem to be happy when noticing a gap in the GTID sequence due to a prior replication event having been filtered out.

I had my master configured using default settings, plus

[mysqld]
server_id=11
bind_address=0.0.0.0
 
log-bin=master
binlog-format=ROW
gtid_domain_id=23

the binlog router and filter as:

[BinlogFilter]
type=filter
module=binlogfilter
exclude=/[.]ignore/
 
[BinlogRouter]
type=service
router=binlogrouter
server_id=100
cluster=Monitor
select_master=false
filters=BinlogFilter
user=myuser
password=Secret23!
 
[BinlogListener]
type=listener
service=BinlogRouter
protocol=MariaDBClient
port=3307

with replication from the master set up with:

CHANGE MASTER TO 
  master_host="master", 
  master_port=3306, 
  master_user="myuser", 
  master_password="Secret23!", 
  master_use_gtid=slave_pos;
START SLAVE;

and the actual slave replicating from the maxscale binlog router as:

[mysqld]
server_id=12
bind_address=0.0.0.0

and

CHANGE MASTER TO MASTER_HOST='maxscale',
                 MASTER_PORT=3307,
                 MASTER_USER='myuser',
		 MASTER_PASSWORD='Secret23!',
		 MASTER_USE_GTID=slave_pos;
		 
START SLAVE;

When creating two tables "t1" and "ignore" on the master I only see "t1" being created on the slave, but not "ignore" as that is filtered out by the binlog filter, so far so good.

But when creating a next table "t2" the slave stops with:

Jan 30 18:23:24 slave-1 mariadbd[7208]: 2023-01-30 18:23:24 5 [ERROR] Unexpected break of being relay-logged GTID 23-11-4 event group by the current GTID event 23-11-5
Jan 30 18:23:24 slave-1 mariadbd[7208]: 2023-01-30 18:23:24 5 [ERROR] Slave I/O: Relay log write failure: could not queue event from master, Internal MariaDB error code: 1595
Jan 30 18:23:24 slave-1 mariadbd[7208]: 2023-01-30 18:23:24 5 [Note] Slave I/O thread exiting, read up to log 'foobar.000001', position 911; GTID position 23-11-3, master maxscale:3307

as it never got to see the GTID 23-11-4 event that got filtered out.

So far tested with latest 22.08 and server versions 10.10 and 10.6



 Comments   
Comment by markus makela [ 2023-01-31 ]

Duplicate of MXS-4494.

Generated at Thu Feb 08 04:29:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.