Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Duplicate
-
22.08.4
-
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