Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
11.4
-
None
-
Related to performance
Description
Remove InnoDB "optimizations" for debug_no_sync
The debug_no_sync variable is intended as a debug-only feature. Its sole purpose is to replace fsync/FlushFileBuffers with a no-op. No higher-level logic should depend on it.
Currently, InnoDB reads this variable in multiple higher-level, concurrency-relevant places. This introduces unnecessary memory reads and extra logical instructions, effectively mimicking the behavior of innodb_flush_log_at_trx_commit=0, which users can already set explicitly.
The only proper location in Innodb to read this variable would be in os_file_flush_func().
Attachments
Issue Links
- is caused by
-
MDEV-30136 Map innodb_flush_method to new settable Booleans innodb_{log,data}_file_{buffering,write_through}
-
- Closed
-
- relates to
-
MDEV-30054 debug-no-sync doesnt fully disable sync calls
-
- Closed
-