1. 11 Nov, 2020 3 commits
  2. 10 Nov, 2020 3 commits
  3. 09 Nov, 2020 6 commits
    • Marko Mäkelä's avatar
      MDEV-24096 InnoDB assertion 'first_free <= srv_page_size - 8' · a0536d42
      Marko Mäkelä authored
      MDEV-23672 (commit 7eda5561)
      introduced a regression that can corrupt not only undo log pages,
      but anything that resides in the InnoDB buffer pool.
      
      trx_undo_left(): Add debug assertions for the assumptions.
      If the pointer is out of bounds, we will return a positive
      number, not a negative one. Thus, once a page overflow occurs,
      further overflow to adjacent pages will be allowed.
      This allows us to remove some more relaxed debug assertions
      from some callers.
      
      trx_undo_log_v_idx(): Correctly calculate the size limit.
      a0536d42
    • Sergei Golubchik's avatar
      Merge branch '10.2' into 10.3 · 212d92ad
      Sergei Golubchik authored
      212d92ad
    • Igor Babaev's avatar
      MDEV-23811: With large number of indexes optimizer chooses an inefficient plan · bea84aef
      Igor Babaev authored
      This bug could manifest itself for a query with WHERE condition containing
      top level OR formula such that each conjunct contained a single-range
      condition supported by the same index. One of these range conditions must
      be fully covered by another range condition that is used later in the OR
      formula. Additionally at least one of these condition should be ANDed with
      a sargable range condition supported by a different index.
      
      There were several attempts to fix related problems for OR conditions after
      the backport of range optimizer code from MySQL (commit
      0e19f3e3). Unfortunately the first of these
      fixes contained typo remained unnoticed until recently. This typo bug led
      to rejection of valid range accesses. This patch fixed this typo bug.
      The fix revealed another two bugs: one in a constructor for SEL_ARG,
      the other in the function tree_or(). Both are fixed in this patch.
      bea84aef
    • Monty's avatar
      Fixed failing maria.create test · 10b2d572
      Monty authored
      This comes from a wrong merge from 10.3
      10b2d572
    • Sergei Petrunia's avatar
      MDEV-24117: Memory management problem ...: Add a testcase · 1404f3be
      Sergei Petrunia authored
      Add a testcase.
      1404f3be
    • Sergei Petrunia's avatar
      MDEV-24117: Memory management problem in statistics state for ... IN · f81eef62
      Sergei Petrunia authored
      Part#1: Revert the patch that caused it:
      
      commit 291be494
      Author: Igor Babaev <igor@askmonty.org>
      Date:   Thu Sep 24 22:02:00 2020 -0700
      
          MDEV-23811: With large number of indexes optimizer chooses an inefficient plan
      f81eef62
  4. 05 Nov, 2020 3 commits
  5. 04 Nov, 2020 2 commits
    • Marko Mäkelä's avatar
      MDEV-24109 InnoDB hangs with innodb_flush_sync=OFF · 4cbfdeca
      Marko Mäkelä authored
      MDEV-23855 broke the handling of innodb_flush_sync=OFF.
      That parameter is supposed to limit the page write rate
      in case the log capacity is being exceeded and log checkpoints
      are needed.
      
      With this fix, the following should pass:
      ./mtr --mysqld=--loose-innodb-flush-sync=0
      
      One of our best regression tests for page flushing is
      encryption.innochecksum. With innodb_page_size=16k and
      innodb_flush_sync=OFF it would likely hang without this fix.
      
      log_sys.last_checkpoint_lsn: Declare as Atomic_relaxed<lsn_t>
      so that we are allowed to read the value while not holding
      log_sys.mutex.
      
      buf_flush_wait_flushed(): Let the page cleaner perform the flushing
      also if innodb_flush_sync=OFF. After the page cleaner has
      completed, perform a checkpoint if it is needed, because
      buf_flush_sync_for_checkpoint() will not be run if
      innodb_flush_sync=OFF.
      
      buf_flush_ahead(): Simplify the condition. We do not really care
      whether buf_flush_page_cleaner() is running.
      
      buf_flush_page_cleaner(): Evaluate innodb_flush_sync at the low
      level. If innodb_flush_sync=OFF, rate-limit the batches to
      innodb_io_capacity_max pages per second.
      
      Reviewed by: Vladislav Vaintroub
      4cbfdeca
    • Dmitry Shulga's avatar
      7b20aa57
  6. 03 Nov, 2020 9 commits
  7. 02 Nov, 2020 14 commits