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

refine the server binlog-based recovery for semisync

Details

    Description

      When run after master server crash --tc-heuristic-recover=rollback produces inconsistent server state with binlog still containing transactions that were rolled back by the option.
      Such way recovered server may not be used for replication. E.g when such way recovered
      ex-master is demoted into slave its binlog state needs further correction to subtract
      the rolled back transactions from its binlog status. Otherwise the "new" slave might claim
      those transactions as locally present at the (gtid) master-slave connection protocol. At the same time the actual "new" master may never have seen those transactions (because they never arrived at it when it was formerly slave, due to the crash).

      This issue should be fixed with refining the recovery procedure with truncating binlog to cut off the prepared rolled back transactions. The method is also known as pioneered by FB
      https://percona.community/blog/2018/08/23/question-about-semi-synchronous-replication-answer-with-all-the-details/

      Once a transaction reaches the binary logs it should roll forward.

      Attachments

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Sujatha Sivakumar (Inactive) made transition -
            Open In Progress
            4d 16h 20m 1
            Andrei Elkin made transition -
            Stalled In Progress
            154d 14h 17m 3
            Andrei Elkin made transition -
            In Progress In Review
            203d 12h 33m 4
            Andrei Elkin made transition -
            Stalled In Review
            55d 17h 17m 3
            Sergei Golubchik made transition -
            In Review Stalled
            147d 10h 23m 7
            Michael Widenius made transition -
            Closed Stalled
            974d 17h 14m 2
            Sergei Golubchik made transition -
            Stalled Closed
            47d 12h 4m 3

            People

              bnestere Brandon Nesterenko
              Elkin Andrei Elkin
              Votes:
              3 Vote for this issue
              Watchers:
              24 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.