Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-4495

Slave stops on GTID gap caused by binlog filter

    XMLWordPrintable

Details

    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

      Attachments

        Activity

          People

            Unassigned Unassigned
            hholzgra Hartmut Holzgraefe
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.