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

an option to enable semisync recovery

Details

    Description

      MDEV-21117 has implemented correct binlog crash recovery in semisync replication. The server decides how to recover based on the role it has in the replication topology. In MDEV-21117 it deduces the role based on rpl_semi_sync_slave_enabled and rpl_semi_sync_master_enabled variables.

      This leaves an important use case open. Typically not all slaves are semisync. If one has a mix of semysync and async slaves and the master crashes and after a failover wakes up as an async slave it won't have rpl_semi_sync_slave_enabled set and won't be able to recover correctly, because it won't be able to deduce its replication role.

      We need to introduce the dedicated option that tells the server its initial¹ role in the replication topology. Perhaps the server can also automatically configure other settings, as appropriate for the specified role.

      ¹) initial — because the role can change dynamically, but such a change has no impact on crash recovery.

      Attachments

        Issue Links

          Activity

            Transition Time In Source Status Execution Times
            Brandon Nesterenko made transition -
            Open In Progress
            18d 7h 6m 1
            Brandon Nesterenko made transition -
            In Progress In Review
            43s 1
            Sergei Golubchik made transition -
            In Review Stalled
            103d 22h 14m 1
            Brandon Nesterenko made transition -
            Stalled Closed
            19d 9h 36m 1

            People

              bnestere Brandon Nesterenko
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              8 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.