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

Merge applicable changes from InnoDB 8.0.40

    XMLWordPrintable

Details

    Description

      The recent MySQL 8.0.40 release include the following changes that affect InnoDB source code files:

      Not applicable to MariaDB Server

      Bug #33398681 ibd tablespace file is moved back from innodb_directories to datadir after ALTER TABLE
      This is related to the MySQL 8.0 Global Data Dictionary. MariaDB did not switch to that format.
      Bug#36500268 Upgrade to clang-format 15
      In MariaDB Server, source code files are not being reformatted in bulk.
      Bug#36522343 std::this_thread::sleep_for(std::chrono::seconds(0)) is a noop
      MariaDB Server is not invoking any 0-second sleeps. In mariadb-backup there is some unreachable code (MDEV-35165).
      Bug#35531293 MySQL 8.0.33 is slower than MySQL 8.0.28 with queries using JOINS
      This seems to fix a regression that was introduced by the MySQL version of MDEV-15562. In MariaDB Server, a smaller change was implemented to the index record format and a separate function added for accessing clustered index leaf page records.
      Bug#36730830 Assertion failure: log0files_governor.cc:1868:it != log.m_files.end() thread 140
      MariaDB Server writes just one ib_logfile0 from a single thread at a time.
      Bug#36808732 Crash in restart after creating 10,000 tables
      Bug#35200385 The parallel tablespace scan in 8.0 doesn't work as expected (follow-up)
      These are equivalent to the 3 commits that were included in MySQL 8.0.39 and judged in MDEV-34672 as inapplicable.
      Bug#35343458 Do not attempt to drop FTS tables when parent tablespace is discarded
      This is fixing a regression due to an earlier change related to the MySQL 8.0 Global Data Dictionary, which is not present in MariaDB Server.
      Bug#36723117 Crash using a secondary index after dropping a column with ALGORITHM=INSTANT
      When Oracle copied the idea of MDEV-15562, they did it differently, associating multiple index metadata versions with the table. They had failed to access the correct index object in some place.
      Bug#36824054 scope_guard's use of "commit" and "rollback" confusing and non-standard
      This is merely renaming some member functions in a RAII style helper that does not exist in MariaDB Server. The commit message mentions ‘standard’, but there is no scope_guard in any version of ISO/IEC 14882 yet, as far as I can tell.
      Bug#36341532 End range check not working with multi-value indexes
      Bug#33334911 Multi-valued index performance is too slow (Access too many rows than required)
      MariaDB Server does not support other forms of inverted index than FULLTEXT INDEX.
      Bug#36210202 FTS_DOC_ID comparison incorrect for large values (follow-up)
      MDEV-33383 had already fixed this in MariaDB Server.
      Bug#35992036 innodb.ddl_kill test fails sporadically
      This is fixing some DEBUG_SYNC injection of a test case that is specific to parallel index creation in MySQL 8.0. MariaDB is yet to implement something like that, in MDEV-16281.
      Bug#35799038 difference in strict mode lead importing tablespace crash
      No crash is reproducible, but MDEV-35169 was filed nevertheless.
      Bug#36705034 pwrite(buf) points to uninitialized byte(s) in os_fusionio_get_sector_size()
      MariaDB uses a different means of detecting FusionIO, which does not involve attempts to invoke pwrite() to a scratch file. Starting with Linux 6.11 there is a more generic interface for this, which we should try to make use of.
      Bug#36496164 Correctly initialize FTS when migrating from 5.7 to 8.0
      This is related to upgrading from MySQL 5.7 to MySQL 8.0 with the Global Data Dictionary. There never was a radical rewrite of the data dictionary in MariaDB Server.
      Bug#36881512 Remove HAVE_CONFIG_H and the generated config.h
      This is modifying a source code file that was removed in MDEV-12050.
      Bug#36444172 Regression in 8.0.27+ related to Parallel DDL IO Amplification
      Bug#36163502 Performance schema counter increments make parallel index create slow
      These are related to parallel index creation. MariaDB does not implement MDEV-16281 yet.
      Bug#36840107 mysql crash after update inplace in instant ddl redundant table
      This is something specific to the MySQL 8.0 counterpart of MDEV-11369. The test case does not produce incorrect results in MariaDB Server.
      Bug#37006524 InnoDB: Assertion failure: buf0flu.cc:621:block->page.in_LRU_list
      This is a race condition in a debug assertion in the function buf_flush_insert_sorted_into_flush_list(), which was ultimately removed in MDEV-23399.
      Bug#36302624 performance_schema.data_lock_waits is generated with O(N³) complexity (follow-up)
      MariaDB Server does not contain this view.
      Bug#36677952 killing DDL on partitioned tables: Assertion failure: dict0dict.cc:1887:table->get_ref_count() == 0
      This is fixing a regression due to a Global Data Dictionary change specific to MySQL 8.0
      Bug#36559642 FTS cleanup on DROP INDEX issue when adding a FULLTEXT index in same transaction (follow-up)
      This change added a fts_drop_tables() call to fts_drop_index(), which would seem to be the source of trouble when executing a statement like the following:

      ALTER TABLE t DROP only_fulltext_index, ADD FULLTEXT INDEX another_fulltext_index(c), ALGORITHM=INPLACE;
      

      MDEV-35183 was filed to optimize MariaDB a little in this scenario.

      Applicable to MariaDB Server

      Bug#36652127 InnoDB: FTS table optimization not working correctly with collation
      Filed as MDEV-35172.
      Bug#36259487 InnoDB: OS_FILE_NORMAL and OS_FILE_AIO are very misleading
      Filed as MDEV-35171.

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              marko Marko Mäkelä
              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.