Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Done
-
10.5, 10.6, 11.4
Description
The recent MySQL 8.0.38 and MySQL 8.0.39 releases include the following InnoDB changes:
Not applicable to MariaDB Server
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 changes are related to the removal of the MLOG_FILE_NAME log record which I had introduced in MySQL 5.7 in order to remove the need to open all data files on InnoDB crash recovery. MariaDB still uses that mechanism; MDEV-12353 renamed the record to FILE_MODIFY.
28eb1ff1127 Bug #33398681 - ibd tablespace file is moved back from innodb_directories to datadir after ALTER TABLE
Bug#35869747: Cannot drop index from upgraded instance (follow-up)
These are regressions due to the Global Data Dictionary, which was introduced in MySQL 8.0. MariaDB Server uses .frm files and data dictionary tables in the InnoDB system tablespace, and DDL is expected to be (mostly) atomic and crash-safe starting with MariaDB Server 10.6.
Bug#36526369 MySQL server crashes on UPDATE after ALTER TABLE (follow-up)
Bug#36571091: MySQL server crashes on UPDATE after ALTER TABLE
These are related to the MySQL implementation of MDEV-11369 or possibly MDEV-15562, specifically to the way how log records are written for DML operation. In MDEV-12353 and MDEV-21724 I designed a log format that does not require any "index metadata" to be written. MariaDB Server 10.3 and 10.4 could theoretically be affected by a bug like this, and in fact I know we have some recovery or backup bugs there (with no reproducible test case). Because 10.3 and 10.4 have already reached their End of Life, I will not need to check further.
Bug#36626203 Unused heap in function Validate_files::check
This appears to be a clean-up after WL#14008 InnoDB: Make tablespace filename validation optional. I believe that the MariaDB counterpart of that at a conceptual level is MDEV-32027.
BUG#34951273 : Performance of scanning data_lock_waits worse than expected with read-only trx
This fixes a regression due to WL#6657 PERFORMANCE_SCHEMA LOCK_DATA), which was introduced in MySQL 8.0 but not in MariaDB.
Bug#36347408 Parallel read is slow after parition table is read in parallel
This is a follow-up fix to WL#14283 Parallel create index, which has not been implemented in MariaDB.
Bug#36292498: Compile MySQL with clang 18
This fixes some misuse of std::bind. mariadb-backup uses it, but not in a way that would cause clang to complain.
Bug#36041032 : Setting (debug only) InnoDB system variables causes crash on Debug Server build
This marks a debug variable innodb_interpreter_output read only. We do not have that in MariaDB.
Bug#36425219 log_writer_write_buffer must double-check log.write_lsn after reacquiring mutex
This fixes a bug in the MySQL 8.0 log writer. MariaDB uses a different design, which was last substantially revised in MDEV-14425 and MDEV-27774.
Bug#36343647 Assertion failure:ibuf0ibuf.cc:3833:ib::fatal (2)
These correspond to MDEV-15916 and MDEV-29905. The function buf_read_ibuf_merge_pages() was removed in MDEV-19514, but a problem during slow shutdown remained until MDEV-29905 was fixed.
bug#34800754 Assertion failure: dict0dict.ic:1102:col_index < table->n_cols
This fixes a debug assertion related to virtual columns in an ALTER TABLE operation that involves setting the AUTO_INCREMENT value. The function dict_table_get_index_on_first_col() was replaced in MDEV-6076. It seems to me that this bug (hard to say exactly which one, because there is no test case) should have been fixed back then, in MariaDB Server 10.2.4.
Bug#36260722 The value range of innodb_io_capacity_max is changed
This would make mysql-test/suite/sys_vars/r/sysvars_innodb,32bit.rdiff shrink a little bit. Actually, innodb_io_capacity_max had better be declared as a 32-bit unsigned integer, and even then 2³² pages per second would be an insanely large value. However, we do not strictly need this change in MariaDB right now.
Applicable to MariaDB Server
Bug#34929814 Double processing of FTS index words with innodb_optimize_fulltext_only
MDEV-34057 refers to the same bug number, but thiru pointed out that this actually is a different bug, to be fixed in MDEV-34673.
Bug#36174938 innodb doesn't call fsync on directories after unlink, rename, open(o_create) (fixup, 2)
The commit message claims that fsync() needs to be called on directories without naming any file system where this is actually beneficial. I filed MDEV-34671 for this, to be addressed some time in the future.
Attachments
Issue Links
- blocks
-
MDEV-34548 Q3 2024 release merge
-
- Closed
-
-
MDEV-35170 Merge applicable changes from InnoDB 8.0.40
-
- Closed
-
- is blocked by
-
MDEV-33276 Merge applicable changes from InnoDB 8.0.36
-
- Closed
-
-
MDEV-34057 Inconsistent FTS state in concurrent scenarios
-
- Closed
-
- relates to
-
MDEV-34673 innodb_optimize_fulltext_only=ON may corrupt fulltext indexes
-
- Open
-
-
MDEV-35163 InnoDB persistent statistics fail to update after ALTER TABLE...ALGORITHM=COPY
-
- Open
-
-
MDEV-36301 ALTER ENGINE INNODB LOG ...
-
- Open
-
It looks like this covered the changes from MySQL 8.0.38 and MySQL 8.0.39, not 8.0.37 and 8.0.38 as it was claimed earlier.
Below is the list of InnoDB changes between MySQL 8.0.36 (
MDEV-33276) and 8.0.37.Not applicable to MariaDB Server
Bug#35240825 performance_schema.data_locks query increased RAM usage to OOM
This view does not exist in MariaDB Server.
Bug#35993300 Server assertion crash after upgrade on 8.0.30
This is related to ALTER INSTANCE DISABLE INNODB REDO_LOG. In MariaDB Server, the closest equivalent was something that was deprecated and ignored in
MDEV-19747.Bug#36122452 Update copyright headers to 2024
Oracle copyright years in the MariaDB Server source code files are updated when importing code changes from specific files.
Bug#35789759 omit multi-value index columns when extracting rows from fetch cache
MariaDB Server does not support other inverted indexes than FULLTEXT INDEX yet.
Bug#36180360 Backport Bug#35625510 to 8.0
This is something related to the MySQL implementation of
MDEV-11369orMDEV-15562. They would store a version number in each record. The MariaDB implementation is simpler, only storing the number of instantly added fields in each affected clustered index record, and storing metadata in a special record at the start of the index while not changing the format of any dictionary tables.Bug#35740866 parallel read is slow when innodb_use_native_aio = off
This is disabling asynchronous read-ahead during parallel index scans. MariaDB does not support parallel index scans yet.
Bug#36142806 innodb_parallel_read_threads>1 makes simple select count more expensive
MariaDB does not support parallel index scans yet.
Bug#36154818 Redolog files on Windows are not using Overlapped mode
According to wlad, this could be beneficial when the same file is being concurrently accessed from multiple threads. In MariaDB Server, that is not the case; WriteFile and NtFlushBuffersFileEx would be invoked from the same thread, guaranteed by the group commit mechanism (
MDEV-21534).Bug#35183686: ALTER_STORED_COLUMN_ORDER with algorithm=INSTANT makes wrong INSERT REDO log
Starting with
MDEV-12353, InnoDB will not write any index metadata as part of logging changes to data pages. This might theoretically affect MariaDB Server 10.4, which has reached EOL. I did not investigate that.Bug#36118112 srv_io_thread_function are assigned in incorrect order
This is fixing something that was introduced by an earlier refactoring, which was not applied to MariaDB Server.
Bug#36159317 INNODB: DEADLOCK BETWEEN FIL_SHARD::OPEN_FILE, FIL_OP_REPLAY_RENAME ON WINDOWS 2
This is following up some earlier change. In MariaDB Server, fil_system.mutex was never split to shards; contention on it was addressed by different means.
Bug#36108397 Upgrade to latest protobuf library
This seems to bundle an unrelated change in InnoDB, to address a warning about designated initializers, which we had removed from that file in
MDEV-26443.GPL License Exception Update
This is changing the wording of some copyright headers in many source code files. We can update such comments when actually incorporating changes to the MariaDB Server code base.
Bug#35952353 SELECT COUNT(*) degraded performance on 8.0 compared to 5.7
This is due to parallel index scan, which MariaDB Server does not support yet.
Bug#35277407 InnoDB:trx hangs due to wrong trx->in_innodb value
TrxInInnoDB had been removed in
MDEV-13935. This bug could possibly duplicateMDEV-11197.Bug#36124625 HCS-11410 : Restore Dbsystem Failing with error "at least one redo file is missi
This is related to MySQL 8.0 writing multiple log files. Starting with MariaDB Server 10.5, there is only one ib_logfile0.
Bug#35289234 Can't disable encryption once redo log encryption is enabled
This is something specific to the MySQL implementation of innodb_redo_log_encrypt. The logic of innodb_encrypt_log in MariaDB Server is somewhat different.
Bug#35932118 innodb.redo_log_archive_01 fails with log0write.cc:2115:ib::fatal
MariaDB Server does not support log archiving.
Bug#36319083 Merge sort buffer can be too small
Bug#36342792 IO write to merge file aligned past end of buffer
Bug#35836581 Server crashes when adding a fulltext index
Bug#36342792 IO write to merge file aligned past end of buffer
These are fixing regressions due to parallel index creation. MariaDB does not implement MDEV-16281 yet.
Bug#35835864 Crash during background rollback if both prepare and active transaction exist
MariaDB Server is resurrecting table locks for XA PREPARE transactions. Apparently an earlier change in MySQL 8.0.33 had broken the logic.
Bug#36343647 Assertion failure:ibuf0ibuf.cc:3833:ib::fatal
This is fixing a regression that had been introduced in MySQL 8.0.11.
(Bug#36343647 Assertion failure:ibuf0ibuf.cc:3833:ib::fatal
This had been fixed in
MDEV-15916back in 2018.Bug#36425219 log_writer_write_buffer must double-check log.write_lsn after reacquiring mutex
This is fixing something related to the multi-threaded, multi-file log writer in MySQL 8.0. MariaDB has group commit on a single ib_logfile0 that seems to work well, especially ever since
MDEV-27774andMDEV-33515were addressed.Applicable to MariaDB Server
Bug#35127747 The n_rows value becomes 0 when repeated altering with algorithm=copy within 10 seconds
Filed as MDEV-35163.
Bug#34929814 Inconsistent FTS state in concurrent scenarios (follow-up)
Filed as
MDEV-34057.