1. 17 Feb, 2018 4 commits
    • Monty's avatar
      Fixed performance problem with Aria in find_head() · 55bc3f1d
      Monty authored
      For some simple benchmarks, a majority of time was
      spend in find_head() which tries to find the best
      place to put the record.
      
      The result of this patch is a 2x or more speedup for
      inserts without keys for format PAGE. All changes
      are only related to how rows are stored
      
      Should fix some of the problems mentioned in:
      MDEV-8132 Temporary tables using Aria with very poor performance
      MDEV-9079 Aria very slow for internal temporary tables
      MDEV-5841 Mariadb very poor temporary performance
      
      The following changes where done:
      - For rows with a small row length that fits into
        a page (818 bytes with 8192 pages), stop as soon as we
        hit a match.
      - Added markers full_head_size and full_tail_size that tells
        us where to start searching on the bitmap page
      - Ensure that page->used_size is correctly updated when
        bitmap grows. This allows us to stop searching at used_size
      - Added code to check that the bitmap variables are correct.
      - Fixed a wrong test where we set "first_bitmap_with_space".
        This shouldn't have caused any notable problems.
      55bc3f1d
    • Monty's avatar
      TokuDB didn't compile with valgrind · 965e1637
      Monty authored
      TokuDB uses USE_VALGRIND while MariaDB uses HAVE_valgrind
      
      Fixed by defining USE_VALGRIND in TokuDB if HAVE_valgrind is used
      965e1637
    • Monty's avatar
      f853b8ed
    • Marko Mäkelä's avatar
      MDEV-15333 MariaDB (still) slow start · 9a46d971
      Marko Mäkelä authored
      This performance regression was introduced in the MariaDB 10.1
      file format incompatibility bug fix MDEV-11623 (MariaDB 10.1.21
      and MariaDB 10.2.4) and partially fixed in MariaDB 10.1.25 in
      MDEV-12610 without adding a regression test case.
      
      On a normal startup (without crash recovery), InnoDB should not read
      every .ibd data file, because this is slow. Like in MySQL, for now,
      InnoDB will still open every data file (without reading), and it
      will read every .ibd file for which an .isl file exists, or the
      DATA DIRECTORY attribute has been specified for the table.
      
      The test case shuts down InnoDB, moves data files, replaces them
      with garbage, and then restarts InnoDB, expecting no messages to
      be issued for the garbage files. (Some messages will for now be
      issued for the table that uses the DATA DIRECTORY attribute.)
      Finally, the test shuts down the server, restores the old data files,
      and restarts again to drop the tables.
      
      fil_open_single_table_tablespace(): Remove the condition on flags,
      and only call fsp_flags_try_adjust() if validate==true
      (reading the first page has been requested). The only caller with
      validate==false is at server startup when we are processing all
      records from SYS_TABLES. The flags passed to this function are
      actually derived from SYS_TABLES.TYPE and SYS_TABLES.N_COLS,
      and there never was any problem with SYS_TABLES in MariaDB 10.1.
      The problem that MDEV-11623 was that incorrect tablespace flags
      were computed and written to FSP_SPACE_FLAGS.
      9a46d971
  2. 16 Feb, 2018 3 commits
  3. 14 Feb, 2018 1 commit
  4. 13 Feb, 2018 2 commits
  5. 10 Feb, 2018 2 commits
  6. 09 Feb, 2018 3 commits
  7. 08 Feb, 2018 8 commits
  8. 07 Feb, 2018 1 commit
  9. 06 Feb, 2018 3 commits
    • Daniel Bartholomew's avatar
      bump the VERSION · b253a0c3
      Daniel Bartholomew authored
      b253a0c3
    • Sergei Golubchik's avatar
      correctly detect unsupported compiler flags · 0c25e58d
      Sergei Golubchik authored
      in gcc `-Wno-unsupported-something` will not be an error or even a warning,
      so cmake will think the flag is supported. But if there's any other
      warning during compilation, for any reason, unknown option will
      be a warning too. Or an error when -Werror, even if that "other warning"
      would not be an error on itself.
      
      So we need to detect whether `-Wno-unsupported-something` is *really*
      supported. Luckily, `-Wunsupported-something` will always fail with an
      error.
      
      So, whenever there's a need to detect if -Wno-something is supported,
      test -Wsomething instead.
      0c25e58d
    • Sergei Golubchik's avatar
      cleanup: simplify maintainer.cmake · 4418abb2
      Sergei Golubchik authored
      4418abb2
  10. 05 Feb, 2018 3 commits
  11. 04 Feb, 2018 1 commit
  12. 03 Feb, 2018 5 commits
  13. 02 Feb, 2018 4 commits
    • Marko Mäkelä's avatar
      After-merge fix for commit d4df7bc9 · f69a3b2e
      Marko Mäkelä authored
      The merge omitted some InnoDB and XtraDB conflict resolutions,
      most notably, failing to merge the fix of MDEV-12173.
      
      ibuf_merge_or_delete_for_page(), lock_rec_block_validate():
      Invoke fil_space_acquire_silent() instead of fil_space_acquire().
      This fixes MDEV-12173.
      
      wsrep_debug, wsrep_trx_is_aborting(): Removed unused declarations.
      
      _fil_io(): Remove. Instead, declare default parameters for the XtraDB
      fil_io().
      
      buf_read_page_low(): Declare default parameters, and clean up some
      callers.
      
      os_aio(): Correct the macro that is defined when !UNIV_PFS_IO.
      f69a3b2e
    • Vicențiu Ciorbaru's avatar
      0765caa0
    • Oleksandr Byelkin's avatar
      Fix of NULLIF print statement. · f694df6a
      Oleksandr Byelkin authored
      f694df6a
    • Sergei Golubchik's avatar
      my_addr_resolve fixes · 29031fe3
      Sergei Golubchik authored
      * use a longer timeout, 10ms is not always enough
      * stop waiting as long as the data is read, do not unconditionally
        wait for timeout every time
      29031fe3