1. 05 Jul, 2016 2 commits
    • Sergei Petrunia's avatar
      MDEV-10324: Server crash in get_sel_arg_for_keypart or Assertion · 95c286ce
      Sergei Petrunia authored
      The crash was caused by this problem:
      get_best_group_min_max() tries to construct query plans for keys that
      are not processed by the range optimizer. This wasn't a problem as long
      as SEL_TREE::keys was an array of MAX_KEY elements.
      However, now it is a Mem_root_array and only has elements for the used
      keys, and get_best_group_min_max attempts to address beyond the end of
      the array.
      
      The obvious way to fix the crash was to port (and improve) a part of
      96fcfcbd7b5120e8f64fd45985001eca8d36fbfb from mysql-5.7. This makes
      get_best_group_min_max not to consider indexes that Mem_root_arrays
      have no element for.
      
      After that, I got non-sensical query plans (see MDEV-10325 for details).
      Fixed that by making get_best_group_min_max to check if the index is in
      table->keys_in_use_for_group_by bitmap.
      95c286ce
    • Alexander Barkov's avatar
  2. 03 Jul, 2016 3 commits
  3. 01 Jul, 2016 3 commits
  4. 29 Jun, 2016 3 commits
    • Nirbhay Choubey's avatar
      MDEV-9423: cannot add new node to the cluser: Binlog.. · 3fd214c8
      Nirbhay Choubey authored
      .. file '/var/log/mysql/mariadb-bin.000001' not found in binlog
      index, needed for recovery. Aborting.
      
      In Galera cluster, while preparing for rsync/xtrabackup based
      SST, the donor node takes an FTWRL followed by (REFRESH_ENGINE_LOG
      in rsync based state transfer and) REFRESH_BINARY_LOG. The latter
      rotates the binary log and logs Binlog_checkpoint_log_event
      corresponding to the penultimate binary log file into the new file.
      The checkpoint event for the current file is later logged
      synchronously by binlog_background_thread.
      
      Now, since in rsync/xtrabackup based snapshot state transfer methods,
      only the last binary log file is transferred to the joiner node; the
      file could get transferred even before the checkpoint event for the
      same file gets written to it. As a result, the joiner node would fail
      to start complaining about the missing binlog file needed for recovery.
      
      In order to fix this, a mechanism has been put in place to make
      REFRESH_BINARY_LOG operation wait for Binlog_checkpoint_log_event
      to be logged for the current binary log file if the node is part of
      a Galera cluster. As further safety, during rsync based state transfer
      the donor node now acquires and owns LOCK_log for the duration of file
      transfer during SST.
      3fd214c8
    • Sergei Golubchik's avatar
      update tests for 32bit · 33492ec8
      Sergei Golubchik authored
      33492ec8
    • Sergei Golubchik's avatar
      valgrind.supp: fix a typo · f10b7db1
      Sergei Golubchik authored
      f10b7db1
  5. 28 Jun, 2016 13 commits
  6. 27 Jun, 2016 16 commits