[MDEV-342] XA Crash recovery fails if server crashes in the middle of binlog rotate Created: 2012-06-15 Updated: 2012-06-22 Resolved: 2012-06-22 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.5.24, 5.3.7 |
| Fix Version/s: | 5.5.25 |
| Type: | Bug | Priority: | Major |
| Reporter: | Kristian Nielsen | Assignee: | Kristian Nielsen |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
| Description |
|
When we rotate the binlog, we first close the old log file, which marks the Suppose we crash after closing the old file but before the new file is added Then on next server restart, the binlog code will not realise that we crashed, 120615 14:41:02 [ERROR] Found 1 prepared transactions! It means that mysqld was not shut down properly last time and critical recovery information (last binlog or tc.log file) was manually deleted after a crash. You have to start mysqld with --tc-heuristic-recover switch to commit or rollback pending transactions. To reproduce, apply following patch (to get needed debug_sync points) and run
|
| Comments |
| Comment by Kristian Nielsen [ 2012-06-20 ] |
|
Fix committed - re-assigning for review |
| Comment by Kristian Nielsen [ 2012-06-22 ] |
|
after-review fixes, push. |
| Comment by Kristian Nielsen [ 2012-06-22 ] |
|
Fixed in 5.5.25 |