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

CHECK TABLE should use READ UNCOMMITED if innodb_force_recovery>=5

    XMLWordPrintable

Details

    Description

      MDEV-15418 changed InnoDB to use the READ UNCOMMITTED isolation level when the transaction recovery is disabled by setting innodb_force_recovery to 5 or 6. Alas, CHECK TABLE would still internally use REPEATABLE READ. After merging the MDEV-18936 fix, this would cause a crash in the test innodb.ibuf_not_empty:

      CURRENT_TEST: innodb.ibuf_not_empty
      mysqltest: At line 50: query 'check table t1' failed: 2013: Lost connection to MySQL server during query
      Version: '10.3.14-MariaDB-debug-log'  socket: '/dev/shm/10.3/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      2019-03-17 12:48:06 3 [ERROR] InnoDB: Failed to find tablespace for table `test`.`t1` in the cache. Attempting to load the tablespace with space id 5
      2019-03-17 12:48:06 3 [Warning] InnoDB: Allocated tablespace ID 5 for test/t1, old maximum was 0
      2019-03-17 12:48:06 3 [Warning] InnoDB: A transaction id in a record of table `test`.`t1` is newer than the system-wide maximum.
      mysqld: /mariadb/10.3/storage/innobase/trx/trx0sys.cc:62: static void ReadView::check_trx_id_sanity(trx_id_t, const table_name_t &): Assertion `0' failed.
      

      Attachments

        Issue Links

          Activity

            People

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