[MDEV-15524] Do not write garbage or disable page checksums for temporary tables Created: 2018-03-09  Updated: 2018-03-10  Resolved: 2018-03-10

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.2.2
Fix Version/s: 10.2.14, 10.3.6

Type: Bug Priority: Major
Reporter: Marko Mäkelä Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: corruption

Issue Links:
Relates
relates to MDEV-14925 trx->rsegs.m_noredo.undo is corrupted... Closed

 Description   

As noted in MDEV-14925, InnoDB disables page checksums for temporary tablespaces. If pages are corrupted in the file system, InnoDB would fail to notice it, and it could crash in some ‘random’ place much later.

Even worse, InnoDB is not clearing previous page contents when allocating a page for a temporary tablespace (table or undo log data). Because the temporary tablespace (ibtmp1) is currently not encrypted, this could leak unrelated information from encrypted tablespaces to the temporary tablespace file.

Fixing these issues might slightly reduce the performance of temporary tables in InnoDB. Performance-conscious users should probably CREATE TEMPORARY TABLE…ENGINE=Aria in the first place. But, the application logic should take into account that ROLLBACK is a no-op in ENGINE=Aria.


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