Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
11.4
-
None
-
None
Description
The docs for innodb_flush_method state:
- the option is deprecated
- if set to O_DSYNC then the new options are set to ...
- if set to fsync, littlesync, ... then the new options are set to ...
The docs are here:
https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-system-variables#innodb_flush_method
— for point 1, deprecated
The option isn't supported. So the deprecation claim is wrong as deprecation means it won't be supported in a future release but is still supported today. Alas, I have a separate issue open for the misuse of "deprecated".
https://jira.mariadb.org/browse/MDEV-33958
And from reading source for MariaDB 11.4.10, that option is defined with the PLUGIN_VAR_READONLY flag, meaning it cannot be set and is hardwired to O_DIRECT (confirmed via testing as well). If you try to set it to something like fsync, then MariaDB will quietly ignore it.
https://github.com/MariaDB/server/blob/main/storage/innobase/handler/ha_innodb.cc#L19196-L19199
— for points 2 and 3, if innodb_flush_method is set to ... then new options are set to
This text is misleading given that innodb_flush_method cannot be set. It is hardwired. The values for innodb_log_file_buffering, innodb_data_file_buffering, innodb_log_file_write_through and innodb_data_file_write_through are the same whether I set innodb_flush_method to O_DIRECT or fsync, which is:
innodb_data_file_buffering OFF
innodb_data_file_write_through OFF
innodb_log_file_buffering ON
innodb_log_file_write_through OFF
Attachments
Issue Links
- relates to
-
MDEV-30136 Map innodb_flush_method to new settable Booleans innodb_{log,data}_file_{buffering,write_through}
-
- Closed
-
-
MDEV-30332 PLUGIN_VAR_DEPRECATED fails to throw a warning on startup
-
- Stalled
-
-
MDEV-33958 Stop using "deprecated and ignored"
-
- Open
-