Details
-
Bug
-
Status: Closed (View Workflow)
-
Blocker
-
Resolution: Fixed
-
10.3.10
Description
I observed this both on 10.2 and 10.3 when testing MDEV-13564. The following test would occasionally fail on a cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=1 build:
./mtr --parallel=40 --repeat=100 --mysqld=--debug=d,ib_log innodb.truncate_crash{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
|
The reason for this appears to be that the following call does not always guarantee a write to the redo log:
log_write_up_to(mtr.commit_lsn(), true); |
Such a call is present in all callers of fil_name_write_rename_low(), yet sometimes we end up with losing the table, because no undo log was persisted for the incomplete transaction despite this call.
Attachments
Issue Links
- relates to
-
MDEV-13564 TRUNCATE TABLE and undo tablespace truncation are not compatible with Mariabackup
-
- Closed
-
-
MDEV-14717 RENAME TABLE in InnoDB is not crash-safe
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue relates to |
Link |
This issue relates to |
Status | Open [ 1 ] | Confirmed [ 10101 ] |
Component/s | Tests [ 10800 ] |
Labels | corruption recovery upstream | recovery |
Affects Version/s | 10.3.10 [ 23140 ] | |
Affects Version/s | 10.2.2 [ 22013 ] | |
Affects Version/s | 10.3.0 [ 22127 ] |
Priority | Critical [ 2 ] | Blocker [ 1 ] |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.2 [ 14601 ] |
Summary | log_write_up_to() sometimes fails |
TRUNCATE is not atomic after |
Status | Confirmed [ 10101 ] | In Progress [ 3 ] |
issue.field.resolutiondate | 2018-09-10 13:22:56.0 | 2018-09-10 13:22:56.38 |
Fix Version/s | 10.3.10 [ 23140 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Fix Version/s | 10.2.19 [ 23207 ] |
Workflow | MariaDB v3 [ 89347 ] | MariaDB v4 [ 154908 ] |
The test fails for me like this:
innodb.truncate_crash 'innodb' w4 [ 52 fail ]
Test ended at 2018-09-07 23:06:13
CURRENT_TEST: innodb.truncate_crash
mysqltest: At line 20: query 'SELECT * FROM t1' failed: 1932: Table 'test.t1' doesn't exist in engine
If it's not an indication of the reported problem, then could you please paste the output which does indicate it?