1. 14 Jul, 2021 2 commits
    • Dmitry Shulga's avatar
      MDEV-26146: The test main.limit_rows_examined fails in case it is run in PS mode. · ff0d3bb8
      Dmitry Shulga authored
      Test failed by firing assert in append_warnings() when it is called
      from run_query_stmt() and there are more results from server.
      
      Obviously, append_warnings() should be called after the last packet
      received from server. So, to fix the assertion failure the function
      mysql_more_results() has to be called to check that now more results
      does exist and invokes append_warnings() in case the condition satisfied.
      ff0d3bb8
    • Otto Kekäläinen's avatar
      Implement simple Gitlab-CI pipeline for MariaDB with RPM builds · 04369f9c
      Otto Kekäläinen authored
      As Travis-CI has stopped offering free testing for open source projects,
      and they don't seem to have any plans to revert their new restrictions,
      MariaDB no longer has a good CI system outside contributors could run
      independently for basic validation before submitting Pull Requests.
      
      Implement a simple Gitlab-CI pipeline that runs basic RPM builds on
      one old, one less old and one very new distro release and then do some
      basic tests on the RPM packages to validate they installed and the
      server actually runs.
      04369f9c
  2. 13 Jul, 2021 1 commit
  3. 06 Jul, 2021 1 commit
  4. 05 Jul, 2021 2 commits
  5. 04 Jul, 2021 1 commit
  6. 03 Jul, 2021 4 commits
    • Marko Mäkelä's avatar
      fixup 0a67b15a · 789a2a36
      Marko Mäkelä authored
      trx_t::free(): Declare xid as fully initialized in order to
      avoid tripping the subsequent MEM_CHECK_DEFINED
      (in WITH_MSAN and WITH_VALGRIND builds).
      789a2a36
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · b797f217
      Marko Mäkelä authored
      b797f217
    • Marko Mäkelä's avatar
      MDEV-26017 fixup · f0f47cbc
      Marko Mäkelä authored
      buf_flush_relocate_on_flush_list(): Use dpage->physical_size()
      because bpage->zip.ssize may already have been zeroed in
      page_zip_set_size() invoked by buf_pool_t::realloc().
      
      This would cause occasional failures of the test
      innodb.innodb_buffer_pool_resize, which creates a
      ROW_FORMAT=COMPRESSED table.
      f0f47cbc
    • Marko Mäkelä's avatar
      MDEV-26033: Race condition between buf_pool.page_hash and resize() · bd5a6403
      Marko Mäkelä authored
      The replacement of buf_pool.page_hash with a different type of
      hash table in commit 5155a300 (MDEV-22871)
      introduced a race condition with buffer pool resizing.
      
      We have an execution trace where buf_pool.page_hash.array is changed
      to point to something else while page_hash_latch::read_lock() is
      executing. The same should also affect page_hash_latch::write_lock().
      
      We fix the race condition by never resizing (and reallocating) the
      buf_pool.page_hash. We assume that resizing the buffer pool is
      a rare operation. Yes, there might be a performance regression if a
      server is first started up with a tiny buffer pool, which is later
      enlarged. In that case, the tiny buf_pool.page_hash.array could cause
      increased use of the hash bucket lists. That problem can be worked
      around by initially starting up the server with a larger buffer pool
      and then shrinking that, until changing to a larger size again.
      
      buf_pool_t::resize_hash(): Remove.
      
      buf_pool_t::page_hash_table::lock(): Do not attempt to deal with
      hash table resizing. If we really wanted that in a safe manner,
      we would probably have to introduce a global rw-lock around the
      operation, or at the very least, poll buf_pool.resizing, both of
      which would be detrimental to performance.
      bd5a6403
  7. 02 Jul, 2021 29 commits