Clarify ALL_O_DIRECT relationship with fsync()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
Hrvoje Matijakovic | ||
5.1 |
Fix Released
|
Medium
|
Hrvoje Matijakovic | ||
5.5 |
Fix Released
|
Medium
|
Hrvoje Matijakovic | ||
5.6 |
Fix Released
|
Medium
|
Hrvoje Matijakovic |
Bug Description
ALL_O_DIRECT is documented as "use O_DIRECT [to] open and flush both the data and the log files." [1]. Preceding it, O_DIRECT is documented as use "O_DIRECT (...) to open the data files; use fsync() to flush both the data and log files.", which is a copy-paste from Oracle docs [2] and is best rephrased.
ALL_O_DIRECT is missing a similar fsync() comment and source code reading tells that fsync() is skipped for all the log writes: both checkpoint info and log data. A similar setup for data files might result in issues with metadata being out of sync in case of crash (i.e. see 5.6 O_DIRECT_NO_FSYNC docs), but is probably safe for log files as they are fixed-size.
Thus let's fix the docs by 1) rewriting the O_DIRECT bit not to copy-paste Oracle docs; 2) adding to ALL_O_DIRECT that fsync() is used for data files and skipped for log files.
[1] http://
[2] https:/
Related branches
- Laurynas Biveinis (community): Approve
-
Diff: 52 lines (+13/-2)3 files modifieddoc/source/diagnostics/user_stats.rst (+6/-0)
doc/source/faq.rst (+5/-0)
doc/source/scalability/innodb_io.rst (+2/-2)
- Laurynas Biveinis (community): Approve
-
Diff: 80 lines (+20/-3)5 files modifieddoc/source/diagnostics/user_stats.rst (+6/-0)
doc/source/faq.rst (+5/-0)
doc/source/release-notes/Percona-Server-5.5.30-30.2.rst (+1/-1)
doc/source/scalability/innodb_io_55.rst (+2/-2)
doc/source/upstream-bug-fixes.rst (+6/-0)
- Laurynas Biveinis (community): Approve
-
Diff: 94 lines (+47/-0)4 files modifieddoc/source/diagnostics/user_stats.rst (+6/-0)
doc/source/faq.rst (+5/-0)
doc/source/scalability/innodb_io.rst (+30/-0)
doc/source/upstream-bug-fixes.rst (+6/-0)
tags: | added: doc |
Percona now uses JIRA for bug reports so this bug report is migrated to: https:/ /jira.percona. com/browse/ PS-1421