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

Assertion oldest_lsn >= log_sys.last_checkpoint_lsn failed in log_checkpoint()

Details

    Description

      Every now and then, especially in IMPORT TABLESPACE tests, we encounter an assertion failure in log_checkpoint():

      10.5

      #7  0x000055cadaf300cb in log_checkpoint ()
          at /mariadb/10.5-MDEV-12353/storage/innobase/log/log0log.cc:1367
      1367		ut_ad(oldest_lsn >= log_sys.last_checkpoint_lsn);
      (gdb) i lo
      oldest_lsn = 93891
      flush_lsn = <optimized out>
      end_lsn = <optimized out>
      do_write = <optimized out>
      

      (gdb) p log_sys.last_checkpoint_lsn
      $1 = 93906
      (gdb) p log_sys.next_checkpoint_lsn
      $2 = 93906
      (gdb) p log_sys.last_checkpoint_lsn-oldest_lsn
      $3 = 15
      (gdb) p log_sys.lsn
      $4 = {<std::__atomic_base<unsigned long>> = {_M_i = 121116}, <No data fields>}

       

      The difference is more than the size of FILE_CHECKPOINT record, which is 12 bytes.

      If I understand it correctly, the the assertion is reporting that the previous checkpoint was too long ago, and we were not actually crash-safe. This is an indication that a log_free_check() call is missing. I do not see any call to in row0import.cc. The function row_import_for_mysql() is writing a small amount of redo log in trx_undo_assign().

      I have the feeling that this is related to either MDEV-12353 changing the redo log format, or MDEV-21534 improving the log write speed.

      One affected test is encryption.innodb-checksum-algorithm, but there probably are others.

      Attachments

        Issue Links

          Activity

            marko Marko Mäkelä created issue -
            alice Alice Sherepa made changes -
            Field Original Value New Value
            marko Marko Mäkelä made changes -
            Labels recovery need_rr recovery
            marko Marko Mäkelä made changes -
            Labels need_rr recovery recovery rr-profile
            marko Marko Mäkelä made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            marko Marko Mäkelä made changes -
            Affects Version/s 5.5 [ 15800 ]
            Affects Version/s 10.0 [ 16000 ]
            Affects Version/s 10.1 [ 16100 ]
            Affects Version/s 10.2 [ 14601 ]
            Affects Version/s 10.3 [ 22126 ]
            Affects Version/s 10.4 [ 22408 ]
            Labels recovery rr-profile corruption recovery rr-profile upstream
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            elenst Elena Stepanova made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            Affects Version/s 10.5.3 [ 24263 ]
            Affects Version/s 10.5.2 [ 24030 ]
            Affects Version/s 10.5.1 [ 24029 ]
            Affects Version/s 10.2 [ 14601 ]
            Affects Version/s 5.5 [ 15800 ]
            Affects Version/s 10.0 [ 16000 ]
            Affects Version/s 10.1 [ 16100 ]
            Affects Version/s 10.3 [ 22126 ]
            Affects Version/s 10.4 [ 22408 ]
            Affects Version/s 10.5 [ 23123 ]
            Labels corruption recovery rr-profile upstream corruption recovery regression rr-profile
            marko Marko Mäkelä made changes -
            issue.field.resolutiondate 2020-06-02 05:29:00.0 2020-06-02 05:29:00.741
            marko Marko Mäkelä made changes -
            Fix Version/s 10.5.4 [ 24264 ]
            Fix Version/s 10.5 [ 23123 ]
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            marko Marko Mäkelä made changes -
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 106011 ] MariaDB v4 [ 157477 ]
            marko Marko Mäkelä made changes -

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              Votes:
              0 Vote for this issue
              Watchers:
              6 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.