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

innodb_immediate_scrub_data_uncompressed=ON may fail to scrub temporary tablespace pages

Details

    Description

      When a page in the temporary tablespace is freed (for example, due to DROP TEMPORARY TABLE), mtr_t::free() fails to mark the page status as buf_page_t::FREED. Due to this, InnoDB may fail to scrub the freed page (if innodb_immediate_scrub_data_uncompressed=ON) when buf_flush_space() is being invoked on the temporary tablespace.

      Attachments

        Issue Links

          Activity

            thiru Thirunarayanan Balathandayuthapani created issue -
            marko Marko Mäkelä made changes -
            Field Original Value New Value
            marko Marko Mäkelä made changes -
            Affects Version/s 10.5 [ 23123 ]
            Affects Version/s 10.7 [ 24805 ]
            Affects Version/s 10.8 [ 26121 ]
            Affects Version/s 10.9 [ 26905 ]
            Description InnoDB fails to mark the page status as FREED during freeing of page for
            temporary tablespace. This behaviour affects scrubbing and doesn't write all zeroes in file even though pages are freed.

            mtr_t::free(): Does mark the page as FREED only when logging is enabled.

            When a page in the temporary tablespace is freed (for example, due to {{DROP TEMPORARY TABLE}}), {{mtr_t::free()}} fails to mark the page status as {{buf_page_t::FREED}}. Due to this, InnoDB may fail to scrub the freed page (if {{innodb_immediate_scrub_data_uncompressed=ON}}) when {{buf_flush_space()}} is being invoked on the temporary tablespace.
            Summary InnoDB scrubbing doesn't write zero while freeing the page for temporary tablespace innodb_immediate_scrub_data_uncompressed=ON may fail to scrub temporary tablespace pages

            I do not think that this bug has much practical impact, because due to MDEV-12227 any writes to the temporary tablespace should be rather rare, and the impact of scrubbing might not be observable.

            However, this bug blocks the feature MDEV-28699, which allows better "scrubbing" by shrinking the temporary tablespace.

            marko Marko Mäkelä added a comment - I do not think that this bug has much practical impact, because due to MDEV-12227 any writes to the temporary tablespace should be rather rare, and the impact of scrubbing might not be observable. However, this bug blocks the feature MDEV-28699 , which allows better "scrubbing" by shrinking the temporary tablespace.
            marko Marko Mäkelä made changes -
            julien.fritsch Julien Fritsch made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            serg Sergei Golubchik made changes -
            serg Sergei Golubchik made changes -
            thiru Thirunarayanan Balathandayuthapani made changes -
            Fix Version/s 10.6.16 [ 29014 ]
            Fix Version/s 10.10.7 [ 29018 ]
            Fix Version/s 10.11.6 [ 29020 ]
            Fix Version/s 11.1.3 [ 29023 ]
            Fix Version/s 11.2.2 [ 29035 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.10 [ 27530 ]
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 11.1 [ 28549 ]
            Fix Version/s 11.2 [ 28603 ]
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Closed [ 6 ]

            People

              thiru Thirunarayanan Balathandayuthapani
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.