1. 17 Nov, 2020 3 commits
    • Marko Mäkelä's avatar
      MDEV-24188 fixup: Simplify the wait loop · 83a55670
      Marko Mäkelä authored
      Starting with commit 7cffb5f6 (MDEV-23399)
      the function buf_flush_page() will first acquire block->lock and only
      after that invoke set_io_fix(). Before that, it was possible to reach
      a livelock between buf_page_create() and buf_flush_page().
      
      buf_page_create(): Directly try acquiring the exclusive page latch
      without checking whether the page is io-fixed or buffer-fixed.
      (As a matter of fact, the have_x_latch() check is not strictly necessary,
      because we still support recursive X-latches.)
      In case of a latch conflict, wait while allowing buf_page_write_complete()
      to acquire buf_pool.mutex and release the block->lock.
      
      An attempt to wait for exclusive block->lock while holding buf_pool.mutex
      would lead to a hang in the tests parts.part_supported_sql_func_innodb
      and stress.ddl_innodb, due to a deadlock between buf_page_write_complete()
      and buf_page_create().
      
      Similarly, in case of an I/O fixed compressed-only
      ROW_FORMAT=COMPRESSED page, we will sleep before retrying.
      
      In both cases, we will sleep for 1ms or until a flush batch is completed.
      83a55670
    • Daniele Sciascia's avatar
    • Sujatha's avatar
      MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade to... · c815ffb9
      Sujatha authored
      MDEV-23610: Slave user can't run "SHOW SLAVE STATUS" anymore after upgrade to 10.5, mysql_upgrade should take of that
      
      Post push fix. Update version to 10.5.8.
      c815ffb9
  2. 16 Nov, 2020 5 commits
  3. 14 Nov, 2020 6 commits
  4. 13 Nov, 2020 9 commits
  5. 12 Nov, 2020 6 commits
    • Sujatha's avatar
      Merge branch '10.3' into 10.4 · b2029c03
      Sujatha authored
      b2029c03
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 972dc6ee
      Marko Mäkelä authored
      972dc6ee
    • Sujatha's avatar
      Merge branch '10.2' into 10.3 · bafb011a
      Sujatha authored
      bafb011a
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 150f447a
      Marko Mäkelä authored
      150f447a
    • Sujatha's avatar
      MDEV-4633: multi_source.simple test fails sporadically · 984a06db
      Sujatha authored
      Analysis:
      ========
      Writes to 'rli->log_space_total' needs to be synchronized, otherwise both
      SQL_THREAD and IO_THREAD can try to modify the variable simultaneously
      resulting in incorrect rli->log_space_total.  In the current test scenario
      SQL_THREAD is trying to decrement 'rli->log_space_total' in 'purge_first_log'
      and IO_THREAD is trying to increment the 'rli->log_space_total' in
      'queue_event' simultaneously. Hence test occasionally fails with  result
      mismatch.
      
      Fix:
      ===
      Convert 'rli->log_space_total' variable to atomic type.
      984a06db
    • Marko Mäkelä's avatar
      MDEV-24196 WITH_UBSAN: member call on null pointer of log_phys_t · 97569d3c
      Marko Mäkelä authored
      MDEV-12353 deliberately tries to avoid memory alignment overhead in
      log_phys_t, storing the stream of log records bytes straight after
      a header object. But, offsetof() is not allowed on C++ data objects,
      and neither are attempts to emulate it by invoking a member function
      on a null pointer.
      
      log_phys_t::len: Remove. Make it part of the byte stream that
      immediately follow the object. Thanks to Eugene Kosov for this idea.
      
      log_phys_t::start(): The start address of the following byte stream.
      
      log_phys_t::len(): Compute len.
      
      log_phys_t::alloc_size(): Use a simple sizeof calculation.
      97569d3c
  6. 11 Nov, 2020 11 commits