[MDEV-27028] [ERROR] [FATAL] InnoDB: SYS_VIRTUAL.TABLE_ID mismatch Created: 2021-11-11 Updated: 2021-11-26 Resolved: 2021-11-17 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.6.3, 10.6.4, 10.6.5, 10.7.1 |
| Fix Version/s: | 10.6.6, 10.7.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Marko Mäkelä | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | crash, recovery, regression-10.6 | ||
| Attachments: |
|
||||
| Issue Links: |
|
||||
| Description |
|
The data directory data_copy.tar.xz
The error means that we failed to find a record in SYS_VIRTUAL for an uncommitted table. At the time of the last InnoDB log write the server was executing TRUNCATE TABLE on the table and dropping the original (possibly nonempty) copy of the table:
This is right after the following step in trx_t::drop_table():
So, it is very well possible that SYS_VIRTUAL entries will not exist for an #sql-ib table (which will by design of The server would crash even with {{ --innodb-force-recovery=4}}. |
| Comments |
| Comment by Marko Mäkelä [ 2021-11-11 ] | ||
|
Similar fatal errors should be possible for other tables:
| ||
| Comment by Marko Mäkelä [ 2021-11-11 ] | ||
|
Missing records in SYS_INDEXES were already tolerated. |