You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug #33343690 ER_IB_MSG_277 and ER_IB_MSG_275 messages are excessively logged
After bug#32634620 the server counts the files that are added to LRU of files against `innodb_open_files` limit. However, this leads to a problem. On a duration of an IO the file is being temporarily removed from the LRU. This allows additional files to be opened within the `innodb_open_files` limit. After the IOs are done, the number of opened files can exceed the `innodb_open_files` limit by 10-20. Assuming this case, there are a lot of files in the LRU that can be easily closed. As a call to `close_file_in_all_LRU` will succeed in this case, the loop in `Fil_shard::mutex_acquire_and_get_space` tries to close only 3 files from the LRU before giving up (and allowing the file to be opened either way). Closing 3 files is not enough to get LRU size below the limit. Also, additionally the `close_file_in_all_LRU` while closing 3rd file will print an abundant amount of info messages to log.
This is fixed by moving closer to logic before the WL#8619, we constantly try to close files for 5 seconds before reporting it takes too long and retrying with flushing the tablespaces.
Added throttling to messages printed by `Fil_system::close_file_in_all_LRU`.
Don't print message `ER_IB_MSG_277` when there is no files in current shard. Changed message to warn about the low `innodb_open_files`.
RB#27009
0 commit comments