[MDEV-16080] Crash in online table rebuild with concurrent DELETE of many BLOBs Created: 2018-05-03  Updated: 2018-05-04  Resolved: 2018-05-03

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Affects Version/s: 10.0.6, 10.1.0, 10.2.0, 10.3.0
Fix Version/s: 10.0.36, 10.1.33, 10.2.15, 10.3.7

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: corruption, crash, online-ddl, upstream-fixed


 Description   

In table-rebuilding online ALTER TABLE (WL#6255 implemented by me in MySQL 5.6), unless table is in ROW_FORMAT=REDUNDANT or ROW_FORMAT=COMPACT both before and after the operation, a prefix of externally stored columns was being written to the online_log. A DELETE operation that ran concurrently with the table-rebuilding operation (ALTER TABLE, OPTIMIZE TABLE or CREATE UNIQUE INDEX) could write too much data, causing a buffer overflow in log->tail.buf.

After I fixed Bug#16544143 in MySQL 5.6.12, there is no need to store any prefixes of externally stored columns into the log.

This bug has been fixed in MySQL Bug #25928471: ONLINE ALTER AND CONCURRENT DELETE ON TABLE WITH MANY TEXT COLUMNS CAUSES CRASH. The fix is available in MySQL 8.0.11. It has been applied to the 8.0 branch only, not to 5.6 or 5.7.


Generated at Thu Feb 08 08:26:14 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.