1. 20 Jan, 2020 6 commits
  2. 19 Jan, 2020 2 commits
  3. 18 Jan, 2020 3 commits
  4. 17 Jan, 2020 13 commits
    • Sergei Golubchik's avatar
      MDEV-20205 mysql_install_db shouldn't execute chown · 51a95712
      Sergei Golubchik authored
      Make chown error non-fatal. Just print a warning.
      51a95712
    • Sergei Golubchik's avatar
      rpm/deb and auth_pam_tool_dir/auth_pam_tool · 9d18b624
      Sergei Golubchik authored
      don't let mysql_install_db set SUID bit for auth_pam_tool in rpm/deb
      packages - instead package files with correct permissions and
      only fix the ownership of auth_pam_tool_dir (which can only be done
      after mysql user is created, so in post-install).
      
      keep old mysql_install_db behavior for bintars
      9d18b624
    • Sergei Petrunia's avatar
      Fix a merge typo · d595a91b
      Sergei Petrunia authored
      d595a91b
    • Marko Mäkelä's avatar
      7b70cbd8
    • Nikša Skeledžija's avatar
      Bug #30499288 - GCC 9.2.1 REPORTS A NEW WARNING FOR OS_FILE_GET_PARENT_DIR · c25a0662
      Nikša Skeledžija authored
      - Fixed a warning visible in optimized build related to calling
      memcpy with length parameters larger than ptrdiff_t max.
      
      rb#23333 approved by Annamalai Gurusami <annamalai.gurusami@oracle.com>
      c25a0662
    • Marko Mäkelä's avatar
      MDEV-21513: Avoid some crashes in ALTER TABLE...IMPORT TABLESPACE · 08b0b2b6
      Marko Mäkelä authored
      IndexPurge::next(): Replace btr_pcur_move_to_next_user_rec()
      with some equivalent code that performs sanity checks without
      killing the server. Perform some additional sanity checks as well.
      
      This change is motivated by
      mysql/mysql-server@48de4d74f4d2f10cd01b129753c7dfa908cf36b5
      which unnecessarily introduces storage overhead to btr_pcur_t
      and uses a test case that injects a fault somewhere else,
      not in the code path that was modified.
      08b0b2b6
    • Marko Mäkelä's avatar
      MDEV-21512 InnoDB may hang due to SPATIAL INDEX · 457ce97e
      Marko Mäkelä authored
      MySQL 5.7.29 includes the following fix:
      Bug #30287668 INNODB: A LONG SEMAPHORE WAIT
      mysql/mysql-server@5cdbb22b51cf2b35dbdf5666a251ffbec2f84dec
      
      There is no test case. It seems that the problem could occur when
      a spatial index is large and peculiar enough so that multiple R-tree
      leaf pages will have the exactly same maximum bounding rectangle (MBR).
      
      The commit message suggests that the hang can occur when R-tree
      non-leaf pages are being merged, which should only be possible
      during transaction rollback or the purge of transaction history,
      when the R-tree index is at least 2 levels high and very many records
      are being deleted. The message says that a comparison result that two
      spatial index node pointer records are equal will cause an infinite loop
      in rtr_page_copy_rec_list_end_no_locks(). Hence, we must include the
      child page number in the comparison to be consistent with
      mysql/mysql-server@2e11fe0e152e34d73579e1a9ec19aedc3f6010f6.
      
      We fix this bug in a simpler way, involving fewer code changes.
      
      cmp_rec_rec(): Renamed from cmp_rec_rec_with_match().
      Assert that rec2 always resides in an index page.
      Treat non-leaf spatial index pages specially.
      457ce97e
    • Marko Mäkelä's avatar
      MDEV-21511: Remove unnecessary code · c3695b40
      Marko Mäkelä authored
      Now that we will be invoking dtuple_get_n_ext() instead of
      letting btr_push_update_extern_fields() update an already
      calculated value, it is unnecessary to calculate the n_ext
      upfront.
      
      row_rec_to_index_entry(), row_rec_to_index_entry_low():
      Remove the output parameter n_ext.
      c3695b40
    • Marko Mäkelä's avatar
      MDEV-21511 Wrong estimate of affected BLOB columns in update · 5838b527
      Marko Mäkelä authored
      During update, rollback, or MVCC read, we may miscalculate
      the number of off-page columns, and thus the size of the
      clustered index record. The function btr_push_update_extern_fields()
      is mostly redundant, because the off-page columns would also be
      moved by row_upd_index_replace_new_col_val(), which is invoked
      via row_upd_index_replace_new_col_vals().
      
      btr_push_update_extern_fields(): Remove.
      
      This is based on
      mysql/mysql-server@1fa475b85d24de4b9ce2958c0eed738c221fc82c
      which refines a fix for a recovery bug fix
      mysql/mysql-server@ce0a1e85e24e48b8171f767b44330da635a6ea0a
      in MySQL 5.7.5.
      
      No test case was provided by Oracle.
      Some of the changed code is being covered by the existing test
      innodb.blob-crash.
      5838b527
    • Marko Mäkelä's avatar
      MDEV-21509 Possible hang during purge of history, or rollback · 3e38d155
      Marko Mäkelä authored
      WL#6326 in MariaDB 10.2.2 introduced a potential hang on purge or rollback
      when an index tree is being shrunk by multiple levels.
      
      This fix is based on
      mysql/mysql-server@f2c58526300c0d84837effa26d37cbd5d2694967
      with the main difference that our version of the test case uses
      DEBUG_SYNC instrumentation on ROLLBACK, not on purge.
      
      btr_cur_will_modify_tree(): Simplify the check further.
      This is the actual bug fix.
      
      row_undo_mod_remove_clust_low(), row_undo_mod_clust(): Add DEBUG_SYNC
      instrumentation for the test case.
      3e38d155
    • Marko Mäkelä's avatar
      MDEV-13626: Add the WL#6326 tests · 9cae7bdc
      Marko Mäkelä authored
      9cae7bdc
    • Jan Lindström's avatar
      MDEV-17062 : Test failure on galera.MW-336 · c4195305
      Jan Lindström authored
      Add mutex protection while we calculate required slave
      thread change and create them. Add error handling.
      c4195305
    • Jan Lindström's avatar
      7e378a8d
  5. 16 Jan, 2020 7 commits
  6. 15 Jan, 2020 8 commits
  7. 14 Jan, 2020 1 commit
    • Sergei Petrunia's avatar
      MDEV-21341: Fix UBSAN failures: Issue Six · 5e5ae51b
      Sergei Petrunia authored
      (Variant #2 of the patch, which keeps the sp_head object inside the
      MEM_ROOT that sp_head object owns)
      (10.3 requires extra work due to sp_package, will commit a separate
      patch for it)
      
      sp_head::operator new() and operator delete() were dereferencing sp_head*
      pointers to memory that didn't hold a valid sp_head object (it was
      not created/already destroyed).
      This caused UBSan to crash when looking up type information.
      
      Fixed by providing static sp_head::create() and sp_head::destroy() methods.
      5e5ae51b