Aria double recovery failure "Found row where the auto_increment column has the value 0"
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MariaDB |
Invalid
|
Undecided
|
Michael Widenius |
Bug Description
When executing "double" recovery via maria_read_log, maria_chk reports the following:
maria_chk: warning: Found row where the auto_increment column has the value 0
This was never seen before in straightforward recovery tests. "Double" recovery means that the initial run of maria_read_log is killed -9 partway through the procedure and a new run of maria_read_log is performed.
Please pull from lp:randgen before you run the test.
RQG command line:
perl runall.pl --grammar=
in approximately 50% of the cases, maria_chk will report
maria_chk: warning: Found row where the auto_increment column has the value 0
Changed in maria: | |
assignee: | nobody → Michael Widenius (monty) |
milestone: | none → 5.1 |
Changed in maria: | |
status: | New → In Progress |
The warning comes from the following query:
UPDATE `DD` SET `pk` = 0 WHERE `col_datetime_ nokey` < 3 LIMIT 0
This set the auto_increment value to 0, which causes a warning from aria_chk as it assumes that this is something that you should never do.
The table is still correct and usable, but one will get a warning for the above row.
Suggested fix: Don't set pk to 0