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

TRUNCATE is not atomic after MDEV-13564

    Details

      Description

      I observed this both on 10.2 and 10.3 when testing MDEV-13564. The following test would occasionally fail on a cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=1 build:

      ./mtr --parallel=40 --repeat=100 --mysqld=--debug=d,ib_log innodb.truncate_crash{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
      

      The reason for this appears to be that the following call does not always guarantee a write to the redo log:

      log_write_up_to(mtr.commit_lsn(), true);
      

      Such a call is present in all callers of fil_name_write_rename_low(), yet sometimes we end up with losing the table, because no undo log was persisted for the incomplete transaction despite this call.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                marko Marko Mäkelä
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: