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

Reduce the blocking time for writing binlogs of large transactions

    XMLWordPrintable

Details

    Description

      During the commit stage of a large transaction, it may cost too much time to write binlog cache and block all subsequent transactions for a long time. One possible solution of this issue is to write the binlog of the large transaction to a temporary file and then rename it to the next new binlog file.

      We need to reserve some space for format description event, gtid list event, binlog checkpoint event and gtid event. After writing the binlog cache, we lock LOCK_log and write the aforementioned events. If the reserved space doesn't match the required size, we delete the temporary file and fallback to original commit path(Write binlog cache with LOCK_log locked).

      Attachments

        1. screenshot-1.png
          254 kB
          Yin Peng
        2. screenshot-2.png
          151 kB
          Yin Peng

        Issue Links

          Activity

            People

              bnestere Brandon Nesterenko
              poempeng Yin Peng
              Votes:
              0 Vote for this issue
              Watchers:
              12 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.