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

Test rpl.rpl_gtid_startpos doesn't work with binlog checksums

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.0.2
    • None
    • None
    • None

    Description

      I'm using 10.0.2 tarball, running simple "cmake ." and "make". After that simple "./mtr rpl.rpl_gtid_startpos" works, but "./mtr rpl.rpl_gtid_startpos -mysqld=-binlog-checksum=CRC32" times out after 900 seconds.
      Quick look at the test doesn't reveal a hard dependency on particular binlog positions or something. So it could be that the actual problem is in mysql code.

      Attachments

        Activity

          What are you running it on?
          (isn't happening for me on Ubuntu 12.04 64-bit, so I am wondering if it's a race condition or system-related)

          elenst Elena Stepanova added a comment - What are you running it on? (isn't happening for me on Ubuntu 12.04 64-bit, so I am wondering if it's a race condition or system-related)
          pivanof Pavel Ivanov added a comment -

          That's interesting. I have Ubuntu 12.04 64-bit too. Compilation was done with "gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)". I wonder what's different then.

          pivanof Pavel Ivanov added a comment - That's interesting. I have Ubuntu 12.04 64-bit too. Compilation was done with "gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)". I wonder what's different then.

          Thanks for the report!

          The problem was that the function Gtid_log_event::peek_is_commit_rollback() did not
          correctly consider the extra 4 bytes of checksum in the event length, so it might miss a
          COMMIT event (for non-transactional updates) and wrongly skip some event(s).

          Currently we are not testing -mysqld=-binlog-checksum=CRC32, which is bad.
          Especially since the MySQL 5.6 checksum design is quite bad and sure to cause
          problems like this to be introduced again in the future.

          I'll make sure that the test suite passes with binlog checksums and try to find a
          Buildbot host to run tests with checksums enabled.

          knielsen Kristian Nielsen added a comment - Thanks for the report! The problem was that the function Gtid_log_event::peek_is_commit_rollback() did not correctly consider the extra 4 bytes of checksum in the event length, so it might miss a COMMIT event (for non-transactional updates) and wrongly skip some event(s). Currently we are not testing - mysqld= -binlog-checksum=CRC32, which is bad. Especially since the MySQL 5.6 checksum design is quite bad and sure to cause problems like this to be introduced again in the future. I'll make sure that the test suite passes with binlog checksums and try to find a Buildbot host to run tests with checksums enabled.

          Pushed to 10.0-base.

          revid: knielsen@knielsen-hq.org-20130429085748-xrrdwe59e9nzzdr0

          knielsen Kristian Nielsen added a comment - Pushed to 10.0-base. revid: knielsen@knielsen-hq.org-20130429085748-xrrdwe59e9nzzdr0

          People

            knielsen Kristian Nielsen
            pivanof Pavel Ivanov
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.