MySQL bugs fixed by Aurora MySQL database engine updates - Amazon Aurora

MySQL bugs fixed by Aurora MySQL database engine updates

The following sections identify MySQL bugs that have been fixed by Aurora MySQL database engine updates.

MySQL bugs fixed by Aurora MySQL 2.x database engine updates

MySQL 5.7-compatible version Aurora contains all MySQL bug fixes through MySQL 5.7.12. The following table identifies additional MySQL bugs that have been fixed by Aurora MySQL database engine updates, and which update they were fixed in.

Database engine update Version MySQL bugs fixed
Aurora MySQL database engine updates 2021-05-25 (version 2.10.0)

2.10.0

  • Interleaved transactions could sometimes deadlock the replica applier when the transaction isolation level was set to REPEATABLE READ. (Bug #25040331)

  • When a stored procedure contained a statement referring to a view which in turn referred to another view, the procedure could not be invoked successfully more than once. (Bug #87858, Bug #26864199)

  • For queries with many OR conditions, the optimizer now is more memory-efficient and less likely to exceed the memory limit imposed by the range_optimizer_max_mem_size system variable. In addition, the default value for that variable has been raised from 1,536,000 to 8,388,608. (Bug #79450, Bug #22283790)

  • Replication: In the next_event() function, which is called by a replica's SQL thread to read the next event from the relay log, the SQL thread did not release the relaylog.log_lock it acquired when it ran into an error (for example, due to a closed relay log), causing all other threads waiting to acquire a lock on the relay log to hang. With this fix, the lock is released before the SQL thread leaves the function under the situation. (Bug #21697821)

  • Fixing a memory corruption for ALTER TABLE with virtual column. (Bug #24961167; Bug #24960450)

  • Replication: Multithreaded replicas could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the replica workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for replica workers can therefore be limited while still allowing occasional larger transactions. (Bug #21280753, Bug #77406)

  • Replication: When using a multithreaded replica, applier errors displayed worker ID data that was inconsistent with data externalized in Performance Schema replication tables. (Bug #25231367)

  • Replication: On a GTID-based replication replica running with –gtid-mode=ON, –log-bin=OFF, and using –slave-skip-errors, when an error was encountered that should be ignored Exec_Master_Log_Pos was not being correctly updated, causing Exec_Master_Log_Pos to loose synchrony with Read_master_log_pos. If a GTID_NEXT was not specified, the replica would never update its GTID state when rolling back from a single statement transaction. The Exec_Master_Log_Pos would not be updated because even though the transaction was finished, its GTID state would show otherwise. The fix removes the restraint of updating the GTID state when a transaction is rolled back only if GTID_NEXT is specified. (Bug #22268777)

  • Replication: A partially failed statement was not correctly consuming an auto-generated or specified GTID when binary logging was disabled. The fix ensures that a partially failed DROP TABLE, a partially failed DROP USER, or a partially failed DROP VIEW consume respectively the relevant GTID and save it into @@GLOBAL.GTID_EXECUTED and mysql.gtid_executed table when binary logging is disabled. (Bug #21686749)

  • Replication: Replicas running MySQL 5.7 could not connect to a MySQL 5.5 source due to an error retrieving the server_uuid, which is not part of MySQL 5.5. This was caused by changes in the method of retrieving the server_uuid. (Bug #22748612)

  • Binlog replication: GTID transaction skipping mechanism was not working properly for XA transaction before this fix. Server has a mechanism to skip (silently) a GTID transaction if it is already executed that particular transaction in the past. (BUG#25041920)

  • ">XA ROLLBACK statements that failed because an incorrect transaction ID was given, could be recorded in the binary log with the correct transaction ID, and could therefore be actioned by replication replicas. A check is now made for the error situation before binary logging takes place, and failed XA ROLLBACK statements are not logged. (Bug #26618925)

  • Replication: If a replica was set up using a CHANGE MASTER TO statement that did not specify the source log file name and source log position, then shut down before START SLAVE was issued, then restarted with the option –relay-log-recovery set, replication did not start. This happened because the receiver thread had not been started before relay log recovery was attempted, so no log rotation event was available in the relay log to provide the source log file name and source log position. In this situation, the replica now skips relay log recovery and logs a warning, then proceeds to start replication. (Bug #28996606, Bug #93397)

  • Replication: In row-based replication, a message that incorrectly displayed field lengths was returned when replicating from a table with a utf8mb3 column to a table of the same definition where the column was defined with a utf8mb4 character set. (Bug #25135304, Bug #83918)

  • Replication: When a RESET SLAVE statement was issued on a replication replica with GTIDs in use, the existing relay log files were purged, but the replacement new relay log file was generated before the set of received GTIDs for the channel had been cleared. The former GTID set was therefore written to the new relay log file as the PREVIOUS_GTIDS event, causing a fatal error in replication stating that the replica had more GTIDs than the source, even though the gtid_executed set for both servers was empty. Now, when RESET SLAVE is issued, the set of received GTIDs is cleared before the new relay log file is generated, so that this situation does not occur. (Bug #27411175)

  • Replication: With GTIDs in use for replication, transactions including statements that caused a parsing error (ER_PARSE_ERROR) could not be skipped manually by the recommended method of injecting an empty or replacement transaction with the same GTID. This action should result in the replica identifying the GTID as already used, and therefore skipping the unwanted transaction that shared its GTID. However, in the case of a parsing error, because the statement was parsed before the GTID was checked to see if it needed to be skipped, the replication applier thread stopped due to the parsing error, even though the intention was for the transaction to be skipped anyway. With this fix, the replication applier thread now ignores parsing errors if the transaction concerned needs to be skipped because the GTID was already used. Note that this behavior change does not apply in the case of workloads consisting of binary log output produced by mysqlbinlog. In that situation, there would be a risk that a transaction with a parsing error that immediately follows a skipped transaction would also be silently skipped, when it ought to raise an error. (Bug #27638268)

  • Replication: Enable the SQL thread to GTID skip a partial transaction. (Bug #25800025)

  • Replication: When a negative or fractional timeout parameter was supplied to WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), the server behaved in unexpected ways. With this fix:

    • A fractional timeout value is read as-is, with no round-off.

    • A negative timeout value is rejected with an error if the server is on a strict SQL mode; if the server is not on a strict SQL mode, the value makes the function return NULL immediately without any waiting and then issue a warning. (Bug #24976304, Bug #83537)

  • Replication: If the WAIT_FOR_EXECUTED_GTID_SET() function was used with a timeout value including a fractional part (for example, 1.5), an error in the casting logic meant that the timeout was rounded down to the nearest whole second, and to zero for values less than 1 second (for example, 0.1). The casting logic has now been corrected so that the timeout value is applied as originally specified with no rounding. Thanks to Dirkjan Bussink for the contribution. (Bug #29324564, Bug #94247)

  • With GTIDs enabled, XA COMMIT on a disconnected XA transaction within a multiple-statement transaction raised an assertion. (Bug #22173903)

  • Replication: An assertion was raised in debug builds if an XA ROLLBACK statement was issued for an unknown transaction identifier when the gtid_next value had been set manually. The server now does not attempt to update the GTID state if an XA ROLLBACK statement fails with an error. (Bug #27928837, Bug #90640)

  • Fix wrong sorting order issue when multiple CASE functions are used in ORDER BY clause (Bug#22810883).

Aurora MySQL database engine updates 2020-12-11 (version 2.09.1)

2.09.1

  • Replication: Interleaved transactions could sometimes deadlock the slave applier when the transaction isolation level was set to REPEATABLE READ. (Bug #25040331)

  • For a table having a TIMESTAMP or DATETIME column having a default of CURRENT_TIMESTAMP, the column could be initialized to 0000-00-00 00:00:00 if the table had a BEFORE INSERT trigger. (Bug #25209512, Bug #84077)

  • For an INSERT statement for which the VALUES list produced values for the second or later row using a subquery containing a join, the server could exit after failing to resolve the required privileges. (Bug #23762382)

Aurora MySQL database engine updates 2020-11-12 (version 2.08.3)

2.08.3

  • Bug #23762382 - INSERT VALUES QUERY WITH JOIN IN A SELECT CAUSES INCORRECT BEHAVIOR.

  • Bug #25209512 - CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER.

Aurora MySQL database engine updates 2020-06-02 (version 2.08.0)

2.08.0

  • Bug #25289359: A full-text cache lock taken when data is synchronized was not released if the full-text cache size exceeded the full-text cache size limit.

  • Bug #29138644: Manually changing the system time while the MySQL server was running caused page cleaner thread delays.

  • Bug #25222337: A NULL virtual column field name in a virtual index caused a server exit during a field name comparison that occurs while populating virtual columns affected by a foreign key constraint.

  • Bug #25053286: Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended.

  • Bug #25586773: Executing a stored procedure containing a statement that created a table from the contents of certain SELECT statements could result in a memory leak.

  • Bug #28834208: During log application, after an OPTIMIZE TABLE operation, InnoDB did not populate virtual columns before checking for virtual column index updates.

  • Bug #26666274: Infinite loop in performance schema buffer container due to 32-bit unsigned integer overflow.

Aurora MySQL database engine updates 2021-03-04 (version 2.07.4)

2.07.4

  • Fixed an issue in the Full-text ngram parser when dealing with tokens containing ' ' (space), '%', or ','. Customers should rebuild their FTS indexes if using ngram parser. (Bug #25873310)

  • Fixed an issue that could cause engine restart during query execution with nested SQL views. (Bug #27214153, Bug #26864199)

Aurora MySQL database engine updates 2020-11-10 (version 2.07.3)

2.07.3

  • InnoDB: Concurrent XA transactions that ran successfully to the XA prepare stage on the master conflicted when replayed on the slave, resulting in a lock wait timeout in the applier thread. The conflict was due to the GAP lock range which differed when the transactions were replayed serially on the slave. To prevent this type of conflict, GAP locks taken by XA transactions in READ COMMITTED isolation level are now released (and no longer inherited) when XA transactions reach the prepare stage. (Bug #27189701, Bug #25866046)

  • InnoDB: A gap lock was taken unnecessarily during foreign key validation while using the READ COMMITTED isolation level. (Bug #25082593)

  • Replication: When using XA transactions, if a lock wait timeout or deadlock occurred for the applier (SQL) thread on a replication slave, the automatic retry did not work. The cause was that while the SQL thread would do a rollback, it would not roll the XA transaction back. This meant that when the transaction was retried, the first event was XA START which was invalid as the XA transaction was already in progress, leading to an XAER_RMFAIL error. (Bug #24764800)

  • Replication: Interleaved transactions could sometimes deadlock the slave applier when the transaction isolation level was set to REPEATABLE READ. (Bug #25040331)

  • Replication: The value returned by a SHOW SLAVE STATUS statement for the total combined size of all existing relay log files (Relay_Log_Space) could become much larger than the actual disk space used by the relay log files. The I/O thread did not lock the variable while it updated the value, so the SQL thread could automatically delete a relay log file and write a reduced value before the I/O thread finished updating the value. The I/O thread then wrote its original size calculation, ignoring the SQL thread’s update and so adding back the space for the deleted file. The Relay_Log_Space value is now locked during updates to prevent concurrent updates and ensure an accurate calculation. (Bug #26997096, Bug #87832)

  • For an INSERT statement for which the VALUES list produced values for the second or later row using a subquery containing a join, the server could exit after failing to resolve the required privileges. (Bug #23762382)

  • For a table having a TIMESTAMP or DATETIME column having a default of CURRENT_TIMESTAMP, the column could be initialized to 0000-00-00 00:00:00 if the table had a BEFORE INSERT trigger. (Bug #25209512, Bug #84077)

  • A server exit could result from simultaneous attempts by multiple threads to register and deregister metadata Performance Schema objects. (Bug #26502135)

  • Executing a stored procedure containing a statement that created a table from the contents of certain SELECT statements could result in a memory leak. (Bug #25586773)

  • Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended. (Bug #25053286)

  • Certain cases of subquery materialization could cause a server exit. These queries now produce an error suggesting that materialization be disabled. (Bug #26402045)

  • Queries with many left joins were slow if join buffering was used (for example, using the block nested loop algorithm). (Bug #18898433, Bug #72854)

  • The optimizer skipped the second column in a composite index when executing an inner join with a LIKE clause against the second column. (Bug #28086754)

Aurora MySQL database engine updates 2020-04-17 (version 2.07.2)

2.07.2

Aurora MySQL database engine updates 2019-11-25 (version 2.07.0)

2.07.0

  • Bug #26251621: INCORRECT BEHAVIOR WITH TRIGGER AND GCOL

  • Bug #22574695: ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(TABLE->READ_SET, FIEL

  • Bug #25966845: INSERT ON DUPLICATE KEY GENERATE A DEADLOCK

  • Bug #23070734: CONCURRENT TRUNCATE TABLES CAUSE STALL

  • Bug #26191879: FOREIGN KEY CASCADES USE EXCESSIVE MEMORY

  • Bug #20989615: INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE

Aurora MySQL database engine updates 2019-11-11 (version 2.05.0)

2.05.0

  • Bug#23054591: PURGE BINARY LOGS TO is reading the whole binlog file and causing MySql to Stall

Aurora MySQL database engine updates 2020-08-14 (version 2.04.9)

2.04.9

  • Bug #23070734, Bug #80060: Concurrent TRUNCATE TABLEs cause stalls

  • Bug #23103937: PS_TRUNCATE_ALL_TABLES() DOES NOT WORK IN SUPER_READ_ONLY MODE

  • Bug#22551677: When taking the server offline, a race condition within the Performance Schema could lead to a server exit.

  • Bug #27082268: Invalid FTS sync synchronization.

  • BUG #12589870: Fixed an issues which causes a restart with multi-query statement when query cache is enabled.

  • Bug #26402045: Certain cases of subquery materialization could cause a server exit. These queries now produce an error suggesting that materialization be disabled.

  • Bug #18898433: Queries with many left joins were slow if join buffering was used (for example, using the block nested loop algorithm).

  • Bug #25222337: A NULL virtual column field name in a virtual index caused a server exit during a field name comparison that occurs while populating virtual columns affected by a foreign key constraint. (https://github.com/mysql/mysql-server/commit/273d5c9d7072c63b6c47dbef6963d7dc491d5131)

  • Bug #25053286: Executing a stored procedure containing a query that accessed a view could allocate memory that was not freed until the session ended. (https://github.com/mysql/mysql-server/commit/d7b37d4d141a95f577916448650c429f0d6e193d)

  • Bug #25586773: Executing a stored procedure containing a statement that created a table from the contents of certain SELECT (https://dev.mysql.com/doc/refman/5.7/en/select.html) statements could result in a memory leak. (https://github.com/mysql/mysql-server/commit/88301e5adab65f6750f66af284be410c4369d0c1)

  • Bug #26666274: INFINITE LOOP IN PERFORMANCE SCHEMA BUFFER CONTAINER.

  • Bug #23550835, Bug #23298025, Bug #81464: A SELECT Performance Schema tables when an internal buffer was full could cause a server exit.

Aurora MySQL database engine updates 2019-09-19 (version 2.04.6)

2.04.6

  • Bug#23054591: PURGE BINARY LOGS TO is reading the whole binlog file and causing MySql to Stall

Aurora MySQL database engine updates 2019-05-02 (version 2.04.2)

2.04.2

Bug #24829050 - INDEX_MERGE_INTERSECTION OPTIMIZATION CAUSES WRONG QUERY RESULTS

Aurora MySQL database engine updates 2018-10-11

2.03

  • REVERSE SCAN ON A PARTITIONED TABLE DOES ICP - ORDER BY DESC (Bug #24929748).

  • JSON_OBJECT CREATES INVALID JSON CODE (Bug#26867509).

  • INSERTING LARGE JSON DATA TAKES AN INORDINATE AMOUNT OF TIME (Bug #22843444).

  • PARTITIONED TABLES USE MORE MEMORY IN 5.7 THAN 5.6 (Bug #25080442).

Aurora MySQL database engine updates 2018-09-21

2.02.4

  • BUG#13651665 INNODB MAY BE UNABLE TO LOAD TABLE DEFINITION AFTER RENAME

  • BUG#21371070 INNODB: CANNOT ALLOCATE 0 BYTES.

  • BUG#21378944 FTS ASSERT ENC.SRC_ILIST_PTR != NULL, FTS_OPTIMIZE_WORD(), OPTIMIZE TABLE

  • BUG#21508537 ASSERTION FAILURE UT_A(!VICTIM_TRX->READ_ONLY)

  • BUG#21983865 UNEXPECTED DEADLOCK WITH INNODB_AUTOINC_LOCK_MODE=0

  • BUG#22679185 INVALID INNODB FTS DOC ID DURING INSERT

  • BUG#22899305 GCOLS: ASSERTION: !(COL->PRTYPE & 256).

  • BUG#22956469 MEMORY LEAK INTRODUCED IN 5.7.8 IN MEMORY/INNODB/OS0FILE

  • BUG#22996488 CRASH IN FTS_SYNC_INDEX WHEN DOING DDL IN A LOOP

  • BUG#23014521 GCOL:INNODB: ASSERTION: !IS_V

  • BUG#23021168 REPLICATION STOPS AFTER TRX IS ROLLED BACK ASYNC

  • BUG#23052231 ASSERTION: ADD_AUTOINC < DICT_TABLE_GET_N_USER_COLS

  • BUG#23149683 ROTATE INNODB MASTER KEY WITH KEYRING_OKV_CONF_DIR MISSING: SIGSEGV; SIGNAL 11

  • BUG#23762382 INSERT VALUES QUERY WITH JOIN IN A SELECT CAUSES INCORRECT BEHAVIOR

  • BUG#25209512 CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER

  • BUG#26626277 BUG IN "INSERT... ON DUPLICATE KEY UPDATE" QUERY

  • BUG#26734162 INCORRECT BEHAVIOR WITH INSERT OF BLOB + ON DUPLICATE KEY UPDATE

  • BUG#27460607 INCORRECT WHEN INSERT SELECT's SOURCE TABLE IS EMPTY

Aurora MySQL database engine updates 2018-05-03

2.02.0

Left join returns incorrect results on the outer side (Bug #22833364)

MySQL bugs fixed by Aurora MySQL 1.x database engine updates

MySQL 5.6-compatible version Aurora contains all MySQL bug fixes through MySQL 5.6.10. The following table identifies additional MySQL bugs that have been fixed by Aurora MySQL database engine updates, and which update they were fixed in.

Database engine update Version MySQL bugs fixed
Aurora MySQL database engine updates 2021-03-18 (version 1.23.2) 1.23.2
  • Replication: While a SHOW BINLOG EVENTS statement was executing, any parallel transaction was blocked. The fix ensures that the SHOW BINLOG EVENTS process now only acquires a lock for the duration of calculating the file's end position, therefore parallel transactions are not blocked for long durations. (Bug #76618, Bug #20928790)

Aurora MySQL database engine updates 2020-09-02 (version 1.23.0) 1.23.0
  • Binlog events with ALTER TABLE ADD COLUMN ALGORITHM=QUICK will be rewritten as ALGORITHM=DEFAULT to be compatible with the community edition.

  • BUG #22350047: IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS STMTS COMMITTED

  • Bug #29915479: RUNNING COM_REGISTER_SLAVE WITHOUT COM_BINLOG_DUMP CAN RESULTS IN SERVER EXIT

  • Bug #30441969: BUG #29723340: MYSQL SERVER CRASH AFTER SQL QUERY WITH DATA ?AST

  • Bug #30628268: OUT OF MEMORY CRASH

  • Bug #27081349: UNEXPECTED BEHAVIOUR WHEN DELETE WITH SPATIAL FUNCTION

  • Bug #27230859: UNEXPECTED BEHAVIOUR WHILE HANDLING INVALID POLYGON"

  • Bug #27081349: UNEXPECTED BEHAVIOUR WHEN DELETE WITH SPATIAL"

  • Bug #26935001: ALTER TABLE AUTO_INCREMENT TRIES TO READ INDEX FROM DISCARDED TABLESPACE

  • Bug #29770705: SERVER CRASHED WHILE EXECUTING SELECT WITH SPECIFIC WHERE CLAUSE

  • Bug #27659490: SELECT USING DYNAMIC RANGE AND INDEX MERGE USE TOO MUCH MEMORY(OOM)

  • Bug #24786290: REPLICATION BREAKS AFTER BUG #74145 HAPPENS IN MASTER

  • Bug #27703912: EXCESSIVE MEMORY USAGE WITH MANY PREPARE

  • Bug #20527363: TRUNCATE TEMPORARY TABLE CRASH: !DICT_TF2_FLAG_IS_SET(TABLE, DICT_TF2_TEMPORARY)

  • Bug#23103937 PS_TRUNCATE_ALL_TABLES() DOES NOT WORK IN SUPER_READ_ONLY MODE

  • Bug #25053286: USE VIEW WITH CONDITION IN PROCEDURE CAUSES INCORRECT BEHAVIOR (fixed in 5.6.36)

  • Bug #25586773: INCORRECT BEHAVIOR FOR CREATE TABLE SELECT IN A LOOP IN SP (fixed in 5.6.39)

  • Bug #27407480: AUTOMATIC_SP_PRIVILEGES REQUIRES NEED THE INSERT PRIVILEGES FOR MYSQL.USER TABLE

  • Bug #26997096: relay_log_space value is not updated in a synchronized manner so that its value is sometimes much higher than the actual disk space used by relay logs.

  • Bug#15831300 SLAVE_TYPE_CONVERSIONS=ALL_NON_LOSSY NOT WORKING AS EXPECTED

  • SSL Bug backport Bug #17087862, Bug #20551271

  • Bug #16894092: PERFORMANCE REGRESSION IN 5.6.6+ FOR INSERT INTO ... SELECT ... FROM (fixed in 5.6.15).

  • Port a bug fix related to SLAVE_TYPE_CONVERSIONS.

Aurora MySQL database engine updates 2020-11-09 (version 1.22.3) 1.22.3
  • Bug #26654685: A corrupt index ID encountered during a foreign key check raised an assertion

  • Bug #15831300: By default, when promoting integers from a smaller type on the master to a larger type on the slave (for example, from a SMALLINT column on the master to a BIGINT column on the slave), the promoted values are treated as though they are signed. Now in such cases it is possible to modify or override this behavior using one or both of ALL_SIGNED, ALL_UNSIGNED in the set of values specified for the slave_type_conversions server system variable. For more information, see Row-based replication: attribute promotion and demotion, as well as the description of the variable.

  • Bug #17449901: With foreign_key_checks=0, InnoDB permitted an index required by a foreign key constraint to be dropped, placing the table into an inconsistent and causing the foreign key check that occurs at table load to fail. InnoDB now prevents dropping an index required by a foreign key constraint, even with foreign_key_checks=0. The foreign key constraint must be removed before dropping the foreign key index.

  • BUG #20768847: An ALTER TABLE ... DROP INDEX operation on a table with foreign key dependencies raised an assertion.

Aurora MySQL database engine updates 2019-11-25 (version 1.22.0) 1.22.0
  • Bug#16346241 - SERVER CRASH IN ITEM_PARAM::QUERY_VAL_STR

  • Bug#17733850 - NAME_CONST() CRASH IN ITEM_NAME_CONST::ITEM_NAME_CONST()

  • Bug #20989615 - INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE

  • Bug #20181776 - ACCESS CONTROL DOESN'T MATCH MOST SPECIFIC HOST WHEN IT CONTAINS WILDCARD

  • Bug #27326796 - MYSQL CRASH WITH INNODB ASSERTION FAILURE IN FILE PARS0PARS.CC

  • Bug #20590013 - IF YOU HAVE A FULLTEXT INDEX AND DROP IT YOU CAN NO LONGER PERFORM ONLINE DDL

Aurora MySQL database engine updates 2019-11-25 (version 1.21.0) 1.21.0
  • Bug #19929406: HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • Bug #17059925: For UNION statements, the rows-examined value was calculated incorrectly. This was manifested as too-large values for the ROWS_EXAMINED column of Performance Schema statement tables (such as events_statements_current).

  • Bug #11827369: Some queries with SELECT ... FROM DUAL nested subqueries raised an assertion.

  • Bug #16311231: Incorrect results were returned if a query contained a subquery in an IN clause that contained an XOR operation in the WHERE clause.

Aurora MySQL database engine updates 2019-11-11 (version 1.20.0) 1.20.0
  • Bug #19929406: HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • Bug #17059925: For UNION statements, the rows-examined value was calculated incorrectly. This was manifested as too-large values for the ROWS_EXAMINED column of Performance Schema statement tables (such as events_statements_current).

  • Bug #11827369: Some queries with SELECT ... FROM DUAL nested subqueries raised an assertion.

  • Bug #16311231: Incorrect results were returned if a query contained a subquery in an IN clause that contained an XOR operation in the WHERE clause.

Aurora MySQL database engine updates 2019-09-19 (version 1.19.5) 1.19.5
  • CVE-2018-2696

  • CVE-2015-4737

  • Bug #19929406: HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • Bug #17059925: For UNION statements, the rows-examined value was calculated incorrectly. This was manifest as too-large values for the ROWS_EXAMINED column of Performance Schema statement tables (such as events_statements_current).

  • Bug #11827369: Some queries with SELECT ... FROM DUAL nested subqueries raised an assertion.

  • Bug #16311231: Incorrect results were returned if a query contained a subquery in an IN clause which contained an XOR operation in the WHERE clause.

Aurora MySQL database engine updates 2019-02-07 (version 1.19.0) 1.19.0
  • BUG #32917: DETECT ORPHAN TEMP-POOL FILES, AND HANDLE GRACEFULLY

  • BUG #63144 CREATE TABLE IF NOT EXISTS METADATA LOCK IS TOO RESTRICTIVE

Aurora MySQL database engine updates 2019-01-17 1.17.8
  • BUG #13418638: CREATE TABLE IF NOT EXISTS METADATA LOCK IS TOO RESTRICTIVE

Aurora MySQL database engine updates 2018-10-08 1.17.7
  • Drop index on a foreign key column leads to missing table. (Bug #16208542)

  • Memory leak in add_derived_key(). (Bug #76349)

  • For partitioned tables, queries could return different results depending on whether Index Merge was used. (Bug #16862316)

  • Queries using the index_merge optimization (see Index merge optimization) could return invalid results when run against tables that were partitioned by HASH. (Bug #17588348)

Aurora MySQL database engine updates 2018-09-06 1.17.6
  • For an ALTER TABLE statement that renamed or changed the default value of a BINARY column, the alteration was done using a table copy and not in place. (Bug #67141, Bug #14735373, Bug #69580, Bug #17024290)

  • An outer join between a regular table and a derived table that is implicitly groups could cause a server exit. (Bug #16177639)

Aurora MySQL database engine updates 2018-03-13 1.17.0
  • LAST_INSERT_ID is replicated incorrectly if replication filters are used (Bug #69861)

  • Query returns different results depending on whether INDEX_MERGE setting (Bug #16862316)

  • Query proc re-execute of stored routine, inefficient query plan (Bug #16346367)

  • InnoDB FTS : Assert in FTS_CACHE_APPEND_DELETED_DOC_IDS (Bug #18079671)

  • Assert RBT_EMPTY(INDEX_CACHE->WORDS) in ALTER TABLE CHANGE COLUMN (Bug #17536995)

  • InnoDB fulltext search doesn't find records when savepoints are involved (Bug #70333, Bug #17458835)

Aurora MySQL database engine updates 2017-11-20 1.15.1
  • Reverted — MySQL instance stalling "doing SYNC index" (Bug #73816)

  • Reverted — Assert RBT_EMPTY(INDEX_CACHE->WORDS) in ALTER TABLE CHANGE COLUMN (Bug #17536995)

  • Reverted — InnoDB Fulltext search doesn't find records when savepoints are involved (Bug #70333)

Aurora MySQL database engine updates 2017-10-24 1.15.0
  • CREATE USER accepts plugin and password hash, but ignores the password hash (Bug #78033)

  • The partitioning engine adds fields to the read bit set to be able to return entries sorted from a partitioned index. This leads to the join buffer will try to read unneeded fields. Fixed by not adding all partitioning fields to the read_set,but instead only sort on the already set prefix fields in the read_set. Added a DBUG_ASSERT that if doing key_cmp, at least the first field must be read (Bug #16367691).

  • MySQL instance stalling "doing SYNC index" (Bug #73816)

  • Assert RBT_EMPTY(INDEX_CACHE->WORDS) in ALTER TABLE CHANGE COLUMN (Bug #17536995)

  • InnoDB Fulltext search doesn't find records when savepoints are involved (Bug #70333)

Aurora MySQL database engine updates: 2018-03-13 1.14.4
  • Ignorable events don't work and are not tested (Bug #74683)

  • NEW->OLD ASSERT FAILURE 'GTID_MODE > 0' (Bug #20436436)

Aurora MySQL database engine updates: 2017-08-07 1.14.0

A full-text search combined with derived tables (subqueries in the FROM clause) caused a server exit. Now, if a full-text operation depends on a derived table, the server produces an error indicating that a full-text search cannot be done on a materialized table. (Bug #68751, Bug #16539903)

Aurora MySQL database engine updates: 2017-05-15 1.13.0
  • Reloading a table that was evicted while empty caused an AUTO_INCREMENT value to be reset. (Bug #21454472, Bug #77743)

  • An index record was not found on rollback due to inconsistencies in the purge_node_t structure. The inconsistency resulted in warnings and error messages such as "error in sec index entry update", "unable to purge a record", and "tried to purge sec index entry not marked for deletion". (Bug #19138298, Bug #70214, Bug #21126772, Bug #21065746)

  • Wrong stack size calculation for qsort operation leads to stack overflow. (Bug #73979)

  • Record not found in an index upon rollback. (Bug #70214, Bug #72419)

  • ALTER TABLE add column TIMESTAMP on update CURRENT_TIMESTAMP inserts ZERO-datas (Bug #17392)

Aurora MySQL database engine updates: 2017-04-05 1.12.0
  • Reloading a table that was evicted while empty caused an AUTO_INCREMENT value to be reset. (Bug #21454472, Bug #77743)

  • An index record was not found on rollback due to inconsistencies in the purge_node_t structure. The inconsistency resulted in warnings and error messages such as "error in sec index entry update", "unable to purge a record", and "tried to purge sec index entry not marked for deletion". (Bug #19138298, Bug #70214, Bug #21126772, Bug #21065746)

  • Wrong stack size calculation for qsort operation leads to stack overflow. (Bug #73979)

  • Record not found in an index upon rollback. (Bug #70214, Bug #72419)

  • ALTER TABLE add column TIMESTAMP on update CURRENT_TIMESTAMP inserts ZERO-datas (Bug #17392)

Aurora MySQL database engine updates: 2017-02-23 1.11.0
  • Running ALTER table DROP foreign key simultaneously with another DROP operation causes the table to disappear. (Bug #16095573)

  • Some INFORMATION_SCHEMA queries that used ORDER BY did not use a filesort optimization as they did previously. (Bug #16423536)

  • FOUND_ROWS () returns the wrong count of rows on a table. (Bug #68458)

  • The server fails instead of giving an error when too many temp tables are open. (Bug #18948649)

Aurora MySQL database engine updates: 2016-12-14 1.10.0
  • UNION of derived tables returns wrong results with '1=0/false'-clauses. (Bug #69471)

  • Server crashes in ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS on 2nd execution of stored procedure. (Bug #20755389)

  • Avoid MySQL queries from stalling for too long during FTS cache sync to disk by offloading the cache sync task to a separate thread, as soon as the cache size crosses 10% of the total size. (Bugs #22516559, #73816)

Aurora MySQL database engine updates: 2016-10-26 1.8.1
  • OpenSSL changed the Diffie-Hellman key length parameters due to the LogJam issue. (Bug #18367167)

Aurora MySQL database engine updates: 2016-10-18 1.8.0
  • When dropping all indexes on a column with multiple indexes, InnoDB failed to block a DROP INDEX operation when a foreign key constraint requires an index. (Bug #16896810)

  • Solve add foreign key constraint crash. (Bug #16413976)

  • Fixed a crash when fetching a cursor in a stored procedure, and analyzing or flushing the table at the same time. (Bug # 18158639)

  • Fixed an auto-increment bug when a user alters a table to change the AUTO_INCREMENT value to less than the maximum auto-increment column value. (Bug # 16310273)

Aurora MySQL database engine updates: 2016-08-30 1.7.0
  • Improve scalability by partitioning LOCK_grant lock. (Port WL #8355)

  • Opening cursor on SELECT in stored procedure causes segfault. (Port Bug #16499751)

  • MySQL gives the wrong result with some special usage. (Bug #11751794)

  • Crash in GET_SEL_ARG_FOR_KEYPART – caused by patch for bug #11751794. (Bug #16208709)

  • Wrong results for a simple query with GROUP BY. (Bug #17909656)

  • Extra rows on semijoin query with range predicates. (Bug #16221623)

  • Adding an ORDER BY clause following an IN subquery could cause duplicate rows to be returned. (Bug #16308085)

  • Crash with explain for a query with loose scan for GROUP BY, MyISAM. (Bug #16222245)

  • Loose index scan with quoted int predicate returns random data. (Bug #16394084)

  • If the optimizer was using a loose index scan, the server could exit while attempting to create a temporary table. (Bug #16436567)

  • COUNT(DISTINCT) should not count NULL values, but they were counted when the optimizer used loose index scan. (Bug #17222452)

  • If a query had both MIN()/MAX() and aggregate_function(DISTINCT) (for example, SUM(DISTINCT)) and was executed using loose index scan, the result values of MIN()/MAX() were set improperly. (Bug #17217128)

Aurora MySQL database engine updates: 2016-06-01 1.6.5
  • SLAVE CAN'T CONTINUE REPLICATION AFTER MASTER'S CRASH RECOVERY (Port Bug #17632285)

Aurora MySQL database engine updates: 2016-04-06 1.6.0
  • BACKPORT Bug #18694052 FIX FOR ASSERTION `!M_ORDERED_REC_BUFFER' FAILED TO 5.6 (Port Bug #18305270)

  • SEGV IN MEMCPY(), HA_PARTITION::POSITION (Port Bug # 18383840)

  • WRONG RESULTS WITH PARTITIONING,INDEX_MERGE AND NO PK (Port Bug # 18167648)

  • FLUSH TABLES FOR EXPORT: ASSERTION IN HA_PARTITION::EXTRA (Port Bug # 16943907)

  • SERVER CRASH IN VIRTUAL HA_ROWS HANDLER::MULTI_RANGE_READ_INFO_CONST (Port Bug # 16164031)

  • RANGE OPTIMIZER CRASHES IN SEL_ARG::RB_INSERT() (Port Bug # 16241773)

Aurora MySQL database engine updates: 2016-01-11

1.5.0

  • Addressed incomplete fix in MySQL full text search affecting tables where the database name begins with a digit. (Port Bug #17607956)

Aurora MySQL database engine updates: 2015-12-03

1.4

  • SEGV in FTSPARSE(). (Bug #16446108)

  • InnoDB data dictionary is not updated while renaming the column. (Bug #19465984)

  • FTS crash after renaming table to different database. (Bug #16834860)

  • Failed preparing of trigger on truncated tables cause error 1054. (Bug #18596756)

  • Metadata changes might cause problems with trigger execution. (Bug #18684393)

  • Materialization is not chosen for long UTF8 VARCHAR field. (Bug #17566396)

  • Poor execution plan when ORDER BY with limit X. (Bug #16697792)

  • Backport bug #11765744 TO 5.1, 5.5 AND 5.6. (Bug #17083851)

  • Mutex issue in SQL/SQL_SHOW.CC resulting in SIG6. Source likely FILL_VARIABLES. (Bug #20788853)

  • Backport bug #18008907 to 5.5+ versions. (Bug #18903155)

  • Adapt fix for a stack overflow error in MySQL 5.7. (Bug #19678930)

Aurora MySQL database engine updates: 2015-10-16

1.2, 1.3

  • Killing a query inside innodb causes it to eventually crash with an assertion. (Bug #1608883)

  • For failure to create a new thread for the event scheduler, event execution, or new connection, no message was written to the error log. (Bug #16865959)

  • If one connection changed its default database and simultaneously another connection executed SHOW PROCESSLIST, the second connection could access invalid memory when attempting to display the first connection's default database memory. (Bug #11765252)

  • PURGE BINARY LOGS by design does not remove binary log files that are in use or active, but did not provide any notice when this occurred. (Bug #13727933)

  • For some statements, memory leaks could result when the optimizer removed unneeded subquery clauses. (Bug #15875919)

  • During shutdown, the server could attempt to lock an uninitialized mutex. (Bug #16016493)

  • A prepared statement that used GROUP_CONCAT() and an ORDER BY clause that named multiple columns could cause the server to exit. ( Bug #16075310)

  • Performance Schema instrumentation was missing for replica worker threads. (Bug #16083949)

  • STOP SLAVE could cause a deadlock when issued concurrently with a statement such as SHOW STATUS that retrieved the values for one or more of the status variables Slave_retried_transactions, Slave_heartbeat_period, Slave_received_heartbeats, Slave_last_heartbeat, or Slave_running. (Bug #16088188)

  • A full-text query using Boolean mode could return zero results in some cases where the search term was a quoted phrase. (Bug #16206253)

  • The optimizer's attempt to remove redundant subquery clauses raised an assertion when executing a prepared statement with a subquery in the ON clause of a join in a subquery. (Bug #16318585)

  • GROUP_CONCAT unstable, crash in ITEM_SUM::CLEAN_UP_AFTER_REMOVAL. (Bug #16347450)

  • Attempting to replace the default InnoDB full-text search (FTS) stopword list by creating an InnoDB table with the same structure as INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD would result in an error. (Bug #16373868)

  • After the client thread on a worker performed a FLUSH TABLES WITH READ LOCK and was followed by some updates on the master, the worker hung when executing SHOW SLAVE STATUS. (Bug #16387720)

  • When parsing a delimited search string such as "abc-def" in a full-text search, InnoDB now uses the same word delimiters as MyISAM. (Bug #16419661)

  • Crash in FTS_AST_TERM_SET_WILDCARD. (Bug #16429306)

  • SEGFAULT in FTS_AST_VISIT() for FTS RQG test. (Bug # 16435855)

  • For debug builds, when the optimizer removed an Item_ref pointing to a subquery, it caused a server exit. (Bug #16509874)

  • Full-text search on InnoDB tables failed on searches for literal phrases combined with + or - operators. (Bug #16516193)

  • START SLAVE failed when the server was started with the options--master-info-repository=TABLE relay-log-info-repository=TABLE and with autocommit set to 0, together with --skip-slave-start. (Bug #16533802)

  • Very large InnoDB full-text search (FTS) results could consume an excessive amount of memory. (Bug #16625973)

  • In debug builds, an assertion could occur in OPT_CHECK_ORDER_BY when using binary directly in a search string, as binary might include NULL bytes and other non-meaningful characters. (Bug #16766016)

  • For some statements, memory leaks could result when the optimizer removed unneeded subquery clauses. (Bug #16807641)

  • It was possible to cause a deadlock after issuing FLUSH TABLES WITH READ LOCK by issuing STOP SLAVE in a new connection to the worker, then issuing SHOW SLAVE STATUS using the original connection. (Bug #16856735)

  • GROUP_CONCAT() with an invalid separator could cause a server exit. (Bug #16870783)

  • The server did excessive locking on the LOCK_active_mi and active_mi->rli->data_lock mutexes for any SHOW STATUS LIKE 'pattern' statement, even when the pattern did not match status variables that use those mutexes (Slave_heartbeat_period, Slave_last_heartbeat, Slave_received_heartbeats, Slave_retried_transactions, Slave_running). (Bug #16904035)

  • A full-text search using the IN BOOLEAN MODE modifier would result in an assertion failure. (Bug #16927092)

  • Full-text search on InnoDB tables failed on searches that used the + boolean operator. (Bug #17280122)

  • 4-way deadlock: zombies, purging binlogs, show processlist, show binlogs. (Bug #17283409)

  • When an SQL thread which was waiting for a commit lock was killed and restarted it caused a transaction to be skipped on worker. (Bug #17450876)

  • An InnoDB full-text search failure would occur due to an "unended" token. The string and string length should be passed for string comparison. (Bug #17659310)

  • Large numbers of partitioned InnoDB tables could consume much more memory when used in MySQL 5.6 or 5.7 than the memory used by the same tables used in previous releases of the MySQL Server. (Bug #17780517)

  • For full-text queries, a failure to check that num_token is less than max_proximity_item could result in an assertion. (Bug #18233051)

  • Certain queries for the INFORMATION_SCHEMA TABLES and COLUMNS tables could lead to excessive memory use when there were large numbers of empty InnoDB tables. (Bug #18592390)

  • When committing a transaction, a flag is now used to check whether a thread has been created, rather than checking the thread itself, which uses more resources, particularly when running the server with master_info_repository=TABLE. (Bug #18684222)

  • If a client thread on a worker executed FLUSH TABLES WITH READ LOCK while the master executed a DML, executing SHOW SLAVE STATUS in the same client became blocked, causing a deadlock. (Bug #19843808)

  • Ordering by a GROUP_CONCAT() result could cause a server exit. (Bug #19880368)

Aurora MySQL database engine updates: 2015-08-24

1.1

  • InnoDB databases with names beginning with a digit cause a full-text search (FTS) parser error. (Bug #17607956)

  • InnoDB full-text searches fail in databases whose names began with a digit. (Bug #17161372)

  • For InnoDB databases on Windows, the full-text search (FTS) object ID is not in the expected hexadecimal format. (Bug #16559254)

  • A code regression introduced in MySQL 5.6 negatively impacted DROP TABLE and ALTER TABLE performance. This could cause a performance drop between MySQL Server 5.5.x and 5.6.x. (Bug #16864741)