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

FLUSH TABLES FOR EXPORT may write the same pages multiple times

    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

              • Assignee:
                Unassigned
                Reporter:
                marko Marko Mäkelä
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: