Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
5.5(EOL), 10.0(EOL), 10.1(EOL), 10.2(EOL), 10.3(EOL), 10.4(EOL), 10.5
Description
MDEV-14717 made rename operations inside InnoDB transactional and crash-safe in case the server process is killed.
However, the file-renaming operations might not be carried out in a fashion that guarantees crash-safety in a case that involves file system recovery.
To be safe, we should probably do fsync() of the file and the directory containing it, followed by the rename(), and finally an fsync() of the file and of its containing directory. This should be done both inside storage engines and in code that deals with .frm files and the like.
Attachments
Issue Links
- relates to
-
MDEV-14717 RENAME TABLE in InnoDB is not crash-safe
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Link |
This issue blocks |
Link |
This issue relates to |
Assignee | Michael Widenius [ monty ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.5 [ 23123 ] |
Link |
This issue blocks |
Priority | Critical [ 2 ] | Major [ 3 ] |
Workflow | MariaDB v3 [ 99991 ] | MariaDB v4 [ 141563 ] |
these four fsyncs is what PostgreSQL does: https://linuxplumbersconf.org/event/4/contributions/492/attachments/344/573/errors.pdf#page=4 and they claim that even if not all fsyncs are always necessary, every single one of them is needed on at least some filesystems