[MDEV-11742] [Draft] InnoDB: Failing assertion: mysql_table Created: 2017-01-07 Updated: 2017-12-20 Resolved: 2017-12-20 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Storage Engine - InnoDB |
| Affects Version/s: | 10.2 |
| Fix Version/s: | 10.2.6, 10.3.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Elena Stepanova | Assignee: | Marko Mäkelä |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | upstream | ||
| Attachments: |
|
||||||||||||||||
| Issue Links: |
|
||||||||||||||||
| Description |
|
Encountered during tests on bb-10.2-monty. Information in the report is related to that test run, but I couldn't reproduce it so far neither on the same tree, nor on 10.2.
|
| Comments |
| Comment by Marko Mäkelä [ 2017-12-20 ] |
|
This is a curious bug. While the stated revision is not available, the line number matches mariadb-10.2.3. I see that back then, row_purge_parse_undo_rec() attempted to open the table from the SQL layer even before checking if node->table->ibd_file_missing. This is guaranteed to fail, of course. Any race condition between RENAME TABLE and purge should be prevented by MDL. A likely root cause for the failure is that the server was previously killed during RENAME TABLE. This would be fixed by It turns out that I fixed this bug in MariaDB 10.2.6 when cleaning up an Oracle bug fix. In MySQL 5.7.20, the crash scenario is still possible, because node->table->ibd_file_missing is only being checked after the innobase_init_vc_templ() call. |