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

AliSQL: [Performance] Issue #40 Optimize performance of semisync

Details

    Description

      Description:
      ------------
      This diff includes:
          1. Make semisync buidin to completely remove overhead of plugin lock.
          2. Remove LOCK_log requirement from dump thread
          3. Now user threads can wait for ACK before innodb commit.
              add rpl_semi_sync_master_wait_point to control this behavior(AFTER_COMMIT/AFTER_SYNC)
          4. Add a new ACK thread to handle ACK from slave.
          5. The IO thread flushs master info only when ACK is needed
              add rpl_semi_sync_slave_delay_master to control this behavior
          6. Fix bug#70669, if sync_binlog = 1 ,then notify dump thread after fsync of binlog file.
      

      https://github.com/alibaba/AliSQL/commit/348783276913b0ad73d7a473498c0f8ea42ee9b0

      This patch makes the variable rpl_semi_sync_slave obsolete, which is why it was removed.

      Attachments

        Issue Links

          Activity

            svoj Sergey Vojtovich created issue -
            svoj Sergey Vojtovich made changes -
            Field Original Value New Value
            Epic Link MDEV-11372 [ 59082 ]
            svoj Sergey Vojtovich made changes -
            Assignee Andrei Elkin [ elkin ]
            monty Michael Widenius made changes -
            Assignee Andrei Elkin [ elkin ] Michael Widenius [ monty ]
            monty Michael Widenius made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Fix Version/s 10.3 [ 22126 ]
            Elkin Andrei Elkin made changes -
            Assignee Michael Widenius [ monty ] Axel Schwenke [ axel ]
            axel Axel Schwenke made changes -
            Assignee Axel Schwenke [ axel ] Michael Widenius [ monty ]
            Elkin Andrei Elkin made changes -
            monty Michael Widenius made changes -
            Assignee Michael Widenius [ monty ] Axel Schwenke [ axel ]
            serg Sergei Golubchik made changes -
            Assignee Axel Schwenke [ axel ] Sergei Golubchik [ serg ]
            serg Sergei Golubchik made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            serg Sergei Golubchik made changes -
            Assignee Sergei Golubchik [ serg ] Axel Schwenke [ axel ]
            axel Axel Schwenke made changes -
            Rank Ranked higher
            axel Axel Schwenke made changes -
            Sprint 10.1.32 [ 235 ]
            axel Axel Schwenke made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            axel Axel Schwenke made changes -
            Sprint 10.1.32 [ 235 ] 10.1.32, 10.3.6 [ 235, 237 ]
            axel Axel Schwenke made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            axel Axel Schwenke made changes -
            Component/s Replication [ 10100 ]
            Fix Version/s 10.3.5 [ 22905 ]
            Fix Version/s 10.3 [ 22126 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 81214 ] MariaDB v4 [ 133284 ]
            monty Michael Widenius made changes -
            Description {noformat}
            Description:
            ------------
            This diff includes:
                1. Make semisync buidin to completely remove overhead of plugin lock.
                2. Remove LOCK_log requirement from dump thread
                3. Now user threads can wait for ACK before innodb commit.
                    add rpl_semi_sync_master_wait_point to control this behavior(AFTER_COMMIT/AFTER_SYNC)
                4. Add a new ACK thread to handle ACK from slave.
                5. The IO thread flushs master info only when ACK is needed
                    add rpl_semi_sync_slave_delay_master to control this behavior
                6. Fix bug#70669, if sync_binlog = 1 ,then notify dump thread after fsync of binlog file.
            {noformat}

            https://github.com/alibaba/AliSQL/commit/348783276913b0ad73d7a473498c0f8ea42ee9b0
            {noformat}
            Description:
            ------------
            This diff includes:
                1. Make semisync buidin to completely remove overhead of plugin lock.
                2. Remove LOCK_log requirement from dump thread
                3. Now user threads can wait for ACK before innodb commit.
                    add rpl_semi_sync_master_wait_point to control this behavior(AFTER_COMMIT/AFTER_SYNC)
                4. Add a new ACK thread to handle ACK from slave.
                5. The IO thread flushs master info only when ACK is needed
                    add rpl_semi_sync_slave_delay_master to control this behavior
                6. Fix bug#70669, if sync_binlog = 1 ,then notify dump thread after fsync of binlog file.
            {noformat}

            https://github.com/alibaba/AliSQL/commit/348783276913b0ad73d7a473498c0f8ea42ee9b0

            This patch makes the variable rpl_semi_sync_slave obsolete, which is why it was removed.
            anel Anel Husakovic made changes -

            People

              axel Axel Schwenke
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              7 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.