• Monty's avatar
    MDEV-19117 Don't keep binary log index file locked during show binary logs · adb70162
    Monty authored
    On some systems with 10,000+ binlogs, show binary logs could block
    log rotation for more than 10 seconds.
    
    This patch fixes this by first caching all binary log names and
    releases all mutexes while calculating the sizes of the binary logs.
    
    Other things:
    - Ensure that reinit_io_cache() sets end_of_file when moving to read_cache.
      This ensures that external changes of the underlying file is known to
      the cache.
    - get_binlog_list() is made more efficent and show_binlogs() is changed
      to call get_binlog_list()
    
    Reviewed by Andrei Elkin
    adb70162
sql_repl.cc 143 KB