1. 22 Aug, 2022 4 commits
  2. 19 Aug, 2022 1 commit
    • Marko Mäkelä's avatar
      MDEV-29043 mariabackup --compress hangs · a1055ab3
      Marko Mäkelä authored
      Even though commit b817afaa passed
      the test mariabackup.compress_qpress, that test turned out to be
      too small to reveal one more problem that had previously been prevented
      by the existence of ctrl_mutex. I did not realize that there can be
      multiple concurrent callers to compress_write(). One of them is the
      log copying thread; further callers are data file copying threads
      (default: --parallel=1).
      
      By default, there is only one compression worker thread
      (--compress-threads=1).
      
      compress_write(): Fix a race condition between threads that would
      use the same worker thread object. Make thd->data_avail contain the
      thread identifier of the submitter, and add thd->avail_cond to
      notify other compress_write() threads that are waiting for a slot.
      a1055ab3
  3. 17 Aug, 2022 1 commit
  4. 16 Aug, 2022 1 commit
  5. 15 Aug, 2022 6 commits
  6. 11 Aug, 2022 1 commit
  7. 10 Aug, 2022 9 commits
  8. 09 Aug, 2022 3 commits
  9. 08 Aug, 2022 3 commits
  10. 04 Aug, 2022 8 commits
  11. 03 Aug, 2022 3 commits
    • Oleksandr Byelkin's avatar
      Merge branch '10.3' into 10.4 · e5090652
      Oleksandr Byelkin authored
      e5090652
    • Sergei Petrunia's avatar
      MDEV-23809: Server crash in JOIN_CACHE::free ...: part #2 · 37a3d446
      Sergei Petrunia authored
      Part #2: make sure we allocate space for two JOIN_TABs that
      use temporary tables.
      The dbug_join_tab_array_size is still set to catch cases where
      we try to access more JOIN_TAB object than we thought we would have.
      37a3d446
    • Sergei Petrunia's avatar
      MDEV-23809: Server crash in JOIN_CACHE::free or ... · 2cd98c95
      Sergei Petrunia authored
      The problem was caused by use of COLLATION(AVG('x')). This is an
      item whose value is a constant.
      Name Resolution code called convert_const_to_int() which removed AVG('x').
      However, the item representing COLLATION(...) still had with_sum_func=1.
      
      This inconsistent state confused the code that handles grouping and
      DISTINCT: JOIN::get_best_combination() decided to use one temporary
      table and allocated one JOIN_TAB for it, but then
      JOIN::make_aggr_tables_info() attempted to use two and made writes
      beyond the end of the JOIN::join_tab array.
      
      The fix:
      - Do not replace constant expressions which contain aggregate functions.
      - Add JOIN::dbug_join_tab_array_size to catch attempts to use more
        JOIN_TAB objects than we've allocated.
      2cd98c95