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

Merge new release of InnoDB 5.7.23 to 10.2

    Details

      Description

      The following changes between MySQL 5.7.22 and MySQL 5.7.23 touch InnoDB files.

      Bug#27558169 BACKPORT TO 5.7 BUG #26826272: REMOVE GCC 8 WARNINGS
      Bug#27558169 BACKPORT TO 5.7 BUG #26826272: REMOVE GCC 8 WARNINGS
      The applicable parts of this should be fixed in 10.0 already.

      Bug#27082268 Invalid FTS sync synchronization
      MDEV-16855 backported this to 10.0.

      BUG#20383215 - POSIX_FALLOCATE() CAN BE INTERRUPTED (OS ERROR NUMBER 4)
      Since MDEV-11520, MariaDB already handles EINTR by resubmitting the posix_fallocate(). This change is not applicable.

      Bug #27713517 GRAMMER: PLEASE CONFIRM THE KEYFILE IS MATCH
      This changes messages, which are specific to the MySQL 5.7 encryption, which was inspired by the encryption in MariaDB 10.1. The change is not applicable.

      BUG#27211287 - MYSQL SCALABILITY IMPROVEMENT PATCH: OPTIMIZED AWAY EXCESSIVE CONDITION
      It was Sergey Vojtovich who originally implemented this exact change in MariaDB 10.3.3 (2017-11-30), even using some identical wording in the commit message. He did not implement it in 10.2, just to play it safe. Now that Oracle has apparently tested this at least since 2018-03-26 and not found regressions (and neither did we in 10.3), it should be safe to backport the fix from 10.3 to 10.2.

      Bug #27542720 SCHEMA MISMATCH - TABLE FLAGS DON'T MATCH, BUT FLAGS ARE NUMBERS
      This fixes an error message about ROW_FORMAT mismatch in IMPORT TABLESPACE. MDEV-16851 implements this better in MariaDB 10.0.

      Bug#27805553 HARD ERROR SHOULD BE REPORTED WHEN FSYNC() RETURN EIO
      This fixes a regression that was introduced in MySQL 5.7.8: I/O errors from fsync() would be ignored. Earlier InnoDB versions did commit suicide in this case.

      Bug#26100239 - CRASH ON STARTUP, DIVIDE BY ZERO, WITH INAPPROPRIATE BUFFER POOL CONFIGURATION
      Vladislav Vaintroub already fixed this in MDEV-11435 (MariaDB 10.2.3) in a less intrusive way. We do not need Oracle’s change.

      Bug#27442477 ASSERT `THD->GET_HA_DATA...HAS_STATE(XID_STATE::XA_ACTIVE))' AT HANDLER.CC:1396
      This is a follow-up to MySQL Bug #12161, which we have not yet fixed (MDEV-7974). The changed code does not exist in MariaDB.

      Bug #27155294 MAX_EXECUTION_TIME NOT INTERUPTED WITH FULLTEXT SEARCH USING MECAB (and follow-up fix)
      This introduces a check for trx_is_interrupted() in fts_ast_visit(). The fix has nothing to do with fulltext parser plugins, and MDEV-16865 will fix it in 10.0.

      BUG#26225783 MYSQL CRASH ON CREATE TABLE (REPRODUCEABLE) -> INNODB: A LONG SEMAPHORE WAIT (and follow-up fix)
      This is the upstream fix for MDEV-14637. We will take it in a different way.

      Bug #26390736 THE FIELD TABLE_NAME (VARCHAR(64)) FROM MYSQL.INNODB_TABLE_STATS CAN OVERFLOW
      This changes the format of the tables mysql.innodb_table_stats and mysql.innodb_index_stats, changing table_name from varchar(64) to varchar(199). As a result of this schema change, an index record size limit that was enforced for innodb_page_size=4k was relaxed.
      Having incorrect maximum length for key columns (and letting InnoDB internally write longer data) could lead to the hang that was described in MDEV-14637. We will cover this as part of MDEV-14637.

      Bug #27326796 - MYSQL CRASH WITH INNODB ASSERTION FAILURE IN FILE PARS0PARS.CC
      We will merge this from 5.6.41 via 10.0. This appears to fix a race condition between ALTER TABLE and InnoDB fulltext search cache synchronization.

      Bug #27208858 CONCURRENT DDL/DML ON FOREIGN KEYS CRASH IN PAGE_CUR_SEARCH_WITH_MATCH_BYTES
      This is working around a race condition between TRUNCATE TABLE and DML statements that would cause the being-truncated table to be accessed due to FOREIGN KEY constraints. The change adds debug instrumentation but no test case. In MariaDB 10.2, TRUNCATE TABLE is protected by transactional table lock, but ADD FOREIGN KEY is not acquiring a lock on the parent table, like it should. So, MariaDB should be affected as well. A better fix would be to rewrite the TRUNCATE as RENAME, CREATE and DROP, which we will eventually do in MDEV-13564. For now, we must take this change.

      Bug #26654685 INDEX->ID == BTR_PAGE_GET_INDEX_ID(PAGE) AT BTR_CUR_SEARCH_TO_NTH_LEVEL IN BTR/B
      This is Oracle’s version of MDEV-13205. MariaDB already fixed this.

      BUG#26848813: INDEXED COLUMN CAN'T BE CHANGED FROM VARCHAR(15) TO VARCHAR(40) INSTANTANEOUSLY
      Changing the maximum length of a VARCHAR column such that the length does not cross the 255-byte boundary should be an instant operation, but it was not. The fix is changing the handler API and some reported errors. We will implement a less intrusive fix in MDEV-16849.

        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: