1. 06 Jan, 2021 2 commits
    • Marko Mäkelä's avatar
      MDEV-24537 innodb_max_dirty_pages_pct_lwm=0 lost its special meaning · a9933105
      Marko Mäkelä authored
      In commit 3a9a3be1 (MDEV-23855)
      some previous logic was replaced with the condition
      dirty_pct < srv_max_dirty_pages_pct_lwm, which caused
      the default value of the parameter innodb_max_dirty_pages_pct_lwm=0
      to lose its special meaning: 'refer to innodb_max_dirty_pages_pct instead'.
      
      This implicit special meaning was visible in the function
      af_get_pct_for_dirty(), which was removed in
      commit f0c295e2 (MDEV-24369).
      
      page_cleaner_flush_pages_recommendation(): Restore the special
      meaning that was removed in MDEV-24369.
      
      buf_flush_page_cleaner(): If srv_max_dirty_pages_pct_lwm==0.0,
      refer to srv_max_buf_pool_modified_pct. This fixes the observed
      performance regression due to excessive page flushing.
      
      buf_pool_t::page_cleaner_wakeup(): Revise the wakeup condition.
      
      innodb_init(): Do initialize srv_max_io_capacity in Mariabackup.
      It was previously constantly 0, which caused mariadb-backup --prepare
      to hang in buf_flush_sync(), making no progress.
      a9933105
    • Oleksandr Byelkin's avatar
      Merge commit '10.4' into 10.5 · 02e7bff8
      Oleksandr Byelkin authored
      02e7bff8
  2. 05 Jan, 2021 1 commit
  3. 03 Jan, 2021 9 commits
  4. 01 Jan, 2021 2 commits
  5. 26 Dec, 2020 1 commit
    • Otto Kekäläinen's avatar
      Travis-CI: Optimize rate of false negatives vs true failures · 139c85aa
      Otto Kekäläinen authored
      Move 'encryption' tests to another job, since the 'binlog' and 'rpl'
      tests are so slow and often make the job timeout (after 50 minutes).
      
      Allow failure in ppc64el as it frequently fails due to out-of-memory.
      A simple restart often fixes it, but we can't depend on restarts.
      
      Also re-enable arm64 as MDEV-23955 is now fixed.
      
      MERGING: This commit is OK to merge 10.6 and upwards.
      139c85aa
  6. 25 Dec, 2020 1 commit
  7. 24 Dec, 2020 4 commits
  8. 23 Dec, 2020 7 commits
  9. 22 Dec, 2020 8 commits
    • Sergei Petrunia's avatar
      8d8370e3
    • Sergei Petrunia's avatar
      MDEV-24444: ASAN use-after-poison in Item_func_in::get_func_mm_tree with NOT IN · df4f4bd8
      Sergei Petrunia authored
      Fix a trivial error in the fix for MDEV-21958: check the key in the right
      table.
      df4f4bd8
    • Aleksey Midenkov's avatar
      MDEV-24364 Alter rename table does not remove PFS share · ed5d675c
      Aleksey Midenkov authored
      Add missed PSI_CALL_drop_table_share().
      ed5d675c
    • Daniele Sciascia's avatar
      MENT-1047 Assertion `active() == false' failed with "XA START.." · 04741dc7
      Daniele Sciascia authored
      Galera replication does not support XA transactions yet. Reject any
      attempt to `XA START` a transaction, if Galera is enabled.
      Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
      04741dc7
    • Aleksey Midenkov's avatar
      MDEV-23446 UPDATE does not insert history row if the row is not changed · 9b38ed4c
      Aleksey Midenkov authored
      Add history row outside of compare_record() check. For TRX_ID
      versioning we have to fail can_compare_record to force InnoDB update
      which adds history row; and there in ha_innobase::update_row() is
      additional "row changed" check where we force history row anyway.
      9b38ed4c
    • Aleksey Midenkov's avatar
      MDEV-23644 Assertion on evaluating foreign referential action for... · 932ec586
      Aleksey Midenkov authored
      MDEV-23644 Assertion on evaluating foreign referential action for self-reference in system versioned table
      
      First part of the fix (row0mysql.cc) addresses external columns when adding history
      row on referential action. The full data must be retrieved before the
      row is inserted.
      
      Second part of the fix (the rest) avoids duplicate primary key error between
      the history row generated on referential action and the history row
      generated by SQL command. Both command and referential action can
      happen on same table since foreign key can be self-reference (parent
      and child tables are same). Moreover, the self-reference can refer
      multiple rows when the key is non-unique. In such case history is
      generated by referential action occured on first row but processed all
      rows by a matched key. The second round is when the next row is
      processed by a command but history already exists. In such case we
      check TRX_ID of existing history row and if it is the same we assume
      the above situation and skip adding one more history row or failing
      the command.
      932ec586
    • Aleksey Midenkov's avatar
      MDEV-21138 Assertion `col->ord_part' or `f.col->ord_part' failed in row_build_index_entry_low · 7410ff43
      Aleksey Midenkov authored
      First part (row0mysql.cc) fixes ins_node_set_new_row() usage workflow
      as it is designed to operate on empty row (see row_get_prebuilt_insert_row()
      for example).
      
      Second part (row0ins.cc) fixes duplicate key error in FTS_DOC_ID_INDEX
      since history rows must not generate entries in that index. We detect
      FTS_DOC_ID_INDEX by a number of attributes and skip it if the row is
      historical.
      
      Misc fixes:
      
      row_build_index_entry_low() does not accept non-NULL tuple
      for FTS index (subject assertion fails), assertion (index->type !=
      DICT_FTS) adds code understanding.
      
      Now as historical_row is copied in row_update_vers_insert() there is
      no need to copy the row twice: ROW_COPY_POINTERS is used to build
      historical_row initially.
      
      dbug_print_rec() debug functions.
      7410ff43
    • Aleksey Midenkov's avatar
      MDEV-22178 Assertion `info->alias.str' failed in... · d4258f3a
      Aleksey Midenkov authored
      MDEV-22178 Assertion `info->alias.str' failed in partition_info::check_partition_info instead of ER_VERS_WRONG_PARTS
      
      Assign create_info->alias for ALTER TABLE since it is NULL and later
      accessed for printing error message.
      d4258f3a
  10. 21 Dec, 2020 5 commits
    • Otto Kekäläinen's avatar
      Fix previous commit: PLUGIN_COLUMNSTORE=YES can only be active on amd64 · 113f1868
      Otto Kekäläinen authored
      Refactor previous commit to fix mistake revealed by Buildbot. We can't
      have a structure where PLUGIN_COLUMNSTORE would ever be 'YES' on an arch
      that does not support it, as the flag overrides any potential platform
      detection code and builds on non-amd64 would all fail.
      113f1868
    • Otto Kekäläinen's avatar
      Salsa-CI: Copy most of Salsa-CI from Debian 10.5 · ecb1b872
      Otto Kekäläinen authored
      - Use new Salsa-CI templates just like downstream does
      - Also apply adaptations needed for native MariaDB to
        build correctly on Salsa-CI
      - Adapt for mysql-8.0 now in Debian Sid, keep also mysql-5.7 test
      - Test TLSv1.3 to ensure it does not regress
      - Remove Snappy compression from autopkgtest as it not longer works
      ecb1b872
    • Otto Kekäläinen's avatar
      Deb: Don't build ColumnStore in native builds, only in autobake-deb.sh · d1809097
      Otto Kekäläinen authored
      ColumnStore files and debian/control stanza was removed in 1edd2243, and
      thus will not be included in a native build. Also adapt the debian/rules
      to follow this same policy and only build ColumnStore in builds triggered
      from autobake-deb.sh. Avoiding building ColumnStore in vain saves a lot of
      build time and disk space.
      d1809097
    • Otto Kekäläinen's avatar
      Deb: Run 'wrap-and-sort -av' to debian/ contents is easier to compare · e7c7f5c1
      Otto Kekäläinen authored
      Maintaining the same deterministic file order in both upstream (this) and
      downstream (Debian) repositories makes it easier to compare the delta.
      e7c7f5c1
    • Marko Mäkelä's avatar
      MDEV-24448 srv_start(): Assertion !buf_pool.any_io_pending() · 39378e13
      Marko Mäkelä authored
      We are seeing !buf_pool.any_io_pending() assertion failures
      in srv_start() ever since MDEV-21452 in 10.6. But, the
      problem appears to be older. In 10.5 since MDEV-19514 removed
      writes from the precursor of buf_page_read_complete(), it
      seems that the debug assertion failure could have been harmless.
      
      recv_sys_t::apply(): At the end of each batch, wait not only
      for all log records to have been processed, but also for all
      pending reads to complete, so that the buffer pool will be in
      an idle state.
      39378e13