1. 23 Jan, 2020 4 commits
    • Marko Mäkelä's avatar
      Remove an unused tokuvalgrind script · 7aa443ca
      Marko Mäkelä authored
      This is the only symlink in the repository. Symlinks can cause
      trouble when using file systems or operating systems that do not
      support them.
      
      Also remove the unused file DartConfig.cmake that refers to the script.
      7aa443ca
    • Marko Mäkelä's avatar
      MDEV-20775: page_zip_validate() failure due to AUTO_INCREMENT · 1d12bff4
      Marko Mäkelä authored
      cmake -DWITH_INNODB_EXTRA_DEBUG:BOOL=ON
      was broken ever since commit 8777458a
      (MDEV-6076 Persistent AUTO_INCREMENT for InnoDB).
      
      There is a race condition between page reads that call
      page_zip_validate() (while holding clustered index root page S-latch)
      and writes that update PAGE_ROOT_AUTO_INC
      (with buf_block_t::lock SX-latch, compatible with S-latch).
      
      page_zip_validate_low(): Skip the PAGE_ROOT_AUTO_INC field on
      clustered index root pages in order to avoid false positives.
      1d12bff4
    • Vlad Lesin's avatar
      MDEV-14183: aria_pack segfaults in compress_maria_file · 7c166e68
      Vlad Lesin authored
      Post-push fix. aria_pack_mdev14183 test is unstable.
      
      The fix is the following:
      1. Disable the test for embedded server.
      2. Create non-"transactional" Aria table in the test, as aria_pack does not
      support "transactional" Aria tables.
      7c166e68
    • Sergei Golubchik's avatar
      new C/C and --ssl-verify-server-cert tests · 1f9a0437
      Sergei Golubchik authored
      tests for --ssl-verify-server-cert with system CA
      and with incorrect hostname
      1f9a0437
  2. 21 Jan, 2020 6 commits
  3. 20 Jan, 2020 6 commits
  4. 19 Jan, 2020 6 commits
  5. 17 Jan, 2020 13 commits
    • Sergei Golubchik's avatar
    • Maheedhar PV's avatar
      Bug#30194841 INSERT ON DUPLICATE KEY UPDATE UPDATES THE WRONG ROW · 49b9ce15
      Maheedhar PV authored
      test case only
      49b9ce15
    • Marko Mäkelä's avatar
      InnoDB 5.6.47 and XtraDB 5.6.46-86.2 · 02af6278
      Marko Mäkelä authored
      The only change is a change of the version number.
      In MySQL 5.6.46, the copyright comments in a number of files were changed
      in mysql/mysql-server@f1a006ece7521cb02f9b961e6fad04d12ddfbab3
      but there was no functional change to InnoDB code.
      This was also reflected by XtraDB. We are not changing the copyright
      comments in MariaDB Server for now.
      
      Between MySQL 5.6.46 and 5.6.47, InnoDB was not changed at all.
      
      Actually, we had forgotten to update the InnoDB version number to
      5.6.46. With this change, we are updating InnoDB
      from 5.6.45 to 5.6.47 and XtraDB from 5.6.45-86.1 to 5.6.46-86.2.
      02af6278
    • 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
  6. 16 Jan, 2020 5 commits