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

Make mariabackup option to double read the pages from data file.

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Won't Fix
    • 10.1.31, 10.3.11, 10.2.19
    • N/A
    • mariabackup
    • None

    Description

      Introduce a "doubleread" option in mariabackup that will re-read pages until 2 successive reads give the same contents. So that it can avoid copying of page when some operation is in progress for that page.

      Attachments

        Issue Links

          Activity

            wlad Vladislav Vaintroub added a comment - - edited

            thiru , I do not think this is a good idea generally. Could you explain why do you think it is a good idea?Does any OS kernel , or filesystem, guarantee you that a write operation is finished between 2 successive reads of the same data. Generally, why do we need anything apart from comparing checksums, which is already there? Can you give an example of partial page write, which produces the same crc32 that a full page write would produce? What are the odds that partial page write (some of 512 byte segments) and full page write of the pages of sizes 4-32K will produce the same crc32?

            wlad Vladislav Vaintroub added a comment - - edited thiru , I do not think this is a good idea generally. Could you explain why do you think it is a good idea?Does any OS kernel , or filesystem, guarantee you that a write operation is finished between 2 successive reads of the same data. Generally, why do we need anything apart from comparing checksums, which is already there? Can you give an example of partial page write, which produces the same crc32 that a full page write would produce? What are the odds that partial page write (some of 512 byte segments) and full page write of the pages of sizes 4-32K will produce the same crc32?

            valerii, if I remember correctly, this was your idea.

            The problem that was being solved at that time seemed to be a combination of two bugs:

            • MariaDB Server (and mariabackup --prepare) would wrongly skip decryption if the before-encryption checksum happened to be the same as the after-encryption checksum.
            • The checksum validation accepted very many variants of checksum algorithms, even when using innodb_checksum_algorithm=strict_crc32.

            Now that these issues have been fixed in MDEV-12112, MDEV-17957, MDEV-17958, MDEV-18025, there should be less need for revisiting the re-reading logic.

            marko Marko Mäkelä added a comment - valerii , if I remember correctly, this was your idea. The problem that was being solved at that time seemed to be a combination of two bugs: MariaDB Server (and mariabackup --prepare ) would wrongly skip decryption if the before-encryption checksum happened to be the same as the after-encryption checksum. The checksum validation accepted very many variants of checksum algorithms, even when using innodb_checksum_algorithm=strict_crc32 . Now that these issues have been fixed in MDEV-12112 , MDEV-17957 , MDEV-17958 , MDEV-18025 , there should be less need for revisiting the re-reading logic.

            Yes, it was my idea. If you think that after all those related fixes checksum check is enough to make sure the entire page content is read properly (not while it is changed by mysqld concurrently), without re-reading and re-checking, I do not insist on implementing it. It would surely have performance impact while benefits provided are questionable.

            valerii Valerii Kravchuk added a comment - Yes, it was my idea. If you think that after all those related fixes checksum check is enough to make sure the entire page content is read properly (not while it is changed by mysqld concurrently), without re-reading and re-checking, I do not insist on implementing it. It would surely have performance impact while benefits provided are questionable.

            A reliable checksum check should be good enough for mariabackup mode of operation.

            wlad Vladislav Vaintroub added a comment - A reliable checksum check should be good enough for mariabackup mode of operation.

            People

              wlad Vladislav Vaintroub
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              1 Vote for this issue
              Watchers:
              5 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.