1. 10 Mar, 2020 25 commits
  2. 09 Mar, 2020 7 commits
  3. 07 Mar, 2020 3 commits
    • Marko Mäkelä's avatar
      Cleanup: Remove recv_sys.remove_extra_log_files · 57c592f7
      Marko Mäkelä authored
      create_log_file(): Delete all old redo log files where they used to be
      deleted, after the crash injection point innodb_log_abort_6,
      before commit 9ef2d29f
      deprecated and ignored the setting innodb_log_files_in_group.
      57c592f7
    • Marko Mäkelä's avatar
      Cleanup: log upgrade and encryption · 70f0dbe4
      Marko Mäkelä authored
      log_crypt_101_read_checkpoint(), log_crypt_101_read_block():
      Declare as ATTRIBUTE_COLD. These are only used when
      checking that a MariaDB 10.1 encrypted redo log is clean.
      
      log_block_calc_checksum_format_0(): Define in the only
      compilation unit where it is needed. This is only used
      when reading the checkpoint information from redo logs
      before MariaDB 10.2.2.
      
      crypt_info_t: Declare the byte arrays directly with alignas().
      
      log_crypt(): Use memcpy_aligned instead of reinterpret_cast
      on integers.
      70f0dbe4
    • Marko Mäkelä's avatar
      Cleanup: Remove recv_sys.buf_size · 522fbfcb
      Marko Mäkelä authored
      Also, correctly document what recv_sys.mutex is protecting.
      522fbfcb
  4. 06 Mar, 2020 4 commits
  5. 05 Mar, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-14425 Cleanup: Use std::atomic for some log_sys members · a4ab54d7
      Marko Mäkelä authored
      Some fields were protected by log_sys.mutex, which adds quite some
      overhead for readers. Some readers were submitting dirty reads.
      
      log_t::lsn: Declare private and atomic. Add wrappers get_lsn()
      and set_lsn() that will use relaxed memory access. Many accesses
      to log_sys.lsn are still protected by log_sys.mutex; we avoid the
      mutex for some readers.
      
      log_t::flushed_to_disk_lsn: Declare private and atomic, and move
      to the same cache line with log_t::lsn.
      
      log_t::buf_free: Declare as size_t, and move to the same cache line
      with log_t::lsn.
      
      log_t::check_flush_or_checkpoint_: Declare private and atomic,
      and move to the same cache line with log_t::lsn.
      
      log_get_lsn(): Define as an alias of log_sys.get_lsn().
      
      log_get_lsn_nowait(), log_peek_lsn(): Remove.
      
      log_get_flush_lsn(): Define as an alias of log_sys.get_flush_lsn().
      
      log_t::initiate_write(): Replaces log_buffer_sync_in_background().
      a4ab54d7