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

FLUSH TABLES FOR EXPORT may write the same pages multiple times

    XMLWordPrintable

Details

    Description

      In FLUSH TABLES, the function buf_flush_or_remove_pages() scans the buf_pool->flush_list and initiates a page write for any pages that it encounters there. But, because pages will not be immediately removed from the flush_list, it is possible (maybe even likely) that due to "goto rescan" the same page will be flushed multiple times.

      The flush list membership is removed at I/O completion:

      #0  buf_flush_remove (bpage=0x7ffff00cab68)
          at /mariadb/10.1/storage/xtradb/buf/buf0flu.cc:575
      #1  0x0000555556210745 in buf_flush_write_complete (bpage=0x7ffff00cab68)
          at /mariadb/10.1/storage/xtradb/buf/buf0flu.cc:715
      #2  0x0000555556200fb5 in buf_page_io_complete (bpage=0x7ffff00cab68)
          at /mariadb/10.1/storage/xtradb/buf/buf0buf.cc:4978
      #3  0x000055555628206e in fil_aio_wait (segment=4)
          at /mariadb/10.1/storage/xtradb/fil/fil0fil.cc:6412
      #4  0x000055555615f0eb in io_handler_thread (arg=0x5555576554a0 <n+32>)
          at /mariadb/10.1/storage/xtradb/srv/srv0start.cc:585
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              marko Marko Mäkelä
              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.