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

Mariadb-binlog Replay Should Always Invoke Slave Applier Path

    XMLWordPrintable

Details

    Description

      Currently, when using mariadb-binlog to replay a binary log onto a server (via piping output to the mariadb client, i.e mariadb-binlog | mariadb), binlog events are often executed using separate paths than the slave applier logic. This results in multiple different code paths needing to be updated when specific logic is required to apply the event correctly. This makes it hard to ensure that mariadb-binlog re-execution will be consistent with a slave applier thread, increasing the chances of bugs for a given mariadb-binlog replay.

      Instead, the code path taken to apply events by mariadb-binlog | mariadb should be the same logic that the slave applier takes, to ensure application is consistent. knielsen suggests using the existing BINLOG SQL statement to do so, as is done for row events.

      For backwards compatibility, we probably can't yet remove any existing logic

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bnestere Brandon Nesterenko
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.