← Back to team overview

maria-developers team mailing list archive

Re: Database corruption

 

Hi Jérôme,

Because InnoDB is a transactional storage engine when it comes to DML
operations, DELETE FROM table (without a WHERE clause) is not equivalent to
TRUNCATE TABLE. The reason is that you can ROLLBACK after DELETE, but you
cannot ROLLBACK after TRUNCATE, which is a DDL operation (and DDL is not
fully transactional).

That said, I now have a better explanation for the problems that you have
encountered.

The branch bb-10.2-compatibility recently merged the branch 10.2 (which is
close to what will be released as MariaDB Server 10.2.5). As part of this
merge, a regression that was introduced in 10.1 was merged. That regression
would cause a SIGSEGV during TRUNCATE TABLE (and presumably less likely
during other DDL operations) when certain pages of the table are not in the
InnoDB buffer pool. I pushed the fix (MDEV-12428
<https://jira.mariadb.org/browse/MDEV-12428>) to 10.1 and merged to 10.2
today. A merge of that to bb-10.2-compatibility should fix the issue.

Best regards,

Marko

Follow ups

References