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

10.6-11.4 Replication Allows Full Range for 32-bit Unsigned Timestamps

    XMLWordPrintable

Details

    Description

      If a 10.6-11.4 server is replicating from a master which supports the full range of 32-bit unsigned timestamps (added in MDEV-32188 to 11.5), the replica will take in the value as-is. This breaks system tables on the replica, where they won't show any data coming from the 11.5+ master.

      The replica should instead convert 32-bit unsigned max timestamps to their signed max equivalent. If replica timestamp is in the range between these values (i.e. larger than 32-bit signed maximum and less than 32-bit unsigned maximum), the value cannot be recovered and we should error. Note slave_type_conversions=ALL_LOSSY should not cover this case.

      The fix should effectively be

      if (unlikely(ts > 0x7fffffff))
        if (ts == 0xffffffff)
           ts= 0x7fffffff
        else
            goto err;
      

      The fix should only go into 10.6, 10.11, and 11.4; it should be null-merged into 11.8 as the value is supported there.

      Attachments

        Issue Links

          Activity

            People

              ParadoxV5 Jimmy Hú
              bnestere Brandon Nesterenko
              Jimmy Hú Jimmy Hú
              Brandon Nesterenko Brandon Nesterenko
              Deepthi Eranti Sreenivas Deepthi Eranti Sreenivas
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.