Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-38826

Parallel slave delays skipped events

    XMLWordPrintable

Details

    • Related to performance

    Description

      Example Test

      (It's based on timing; don't do this on a slow CI.)

      --let $rpl_skip_start_slave= 1
      --source include/master-slave.inc
       
      --save_master_pos
      --connection slave
        CHANGE MASTER TO MASTER_USE_GTID=NO, MASTER_DELAY= 5;
        SET @@GLOBAL.replicate_events_marked_for_skip= FILTER_ON_SLAVE;
        --source include/start_slave.inc
      # MDEV-38825
      --sync_with_master
       
       
      --connection master
        SET @@SESSION.skip_replication= ON;
          CREATE TABLE t (a INT);
          DROP TABLE t;
        SET @@SESSION.skip_replication= OFF;
      --save_master_pos
      --connection slave
        --sleep 2
        --let $status_items= Slave_SQL_Running_State, SQL_Remaining_Delay
        --source include/show_slave_status.inc
        # Serial: 'Slave has read all relay log; waiting for more updates'
        # Parallel: 'Waiting until MASTER_DELAY seconds after master executed event'
      --sync_with_master
       
       
      --source include/stop_slave.inc
      CHANGE MASTER TO MASTER_DELAY= 0;
      SET @@GLOBAL.replicate_events_marked_for_skip= REPLICATE;
       
      --let $rpl_only_running_threads= 1
      --source include/rpl_end.inc
      

      Cause

      Parallel Replication's design is flawed.
      It skips events on worker threads, but delays events on the driver thread before queueing to workers.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ParadoxV5 Jimmy Hú
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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