1. 14 Feb, 2022 17 commits
  2. 13 Feb, 2022 2 commits
    • Marko Mäkelä's avatar
      MDEV-27817 InnoDB recovery of recently created files is not crash-safe · 7b891008
      Marko Mäkelä authored
      Before commit 86dc7b4d (MDEV-24626)
      all tablespace ID that needed recovery were known already in
      recv_init_crash_recovery_spaces().
      
      recv_sys_t::recover_deferred(): Invoke fil_names_dirty(space) on
      the newly initialized tablespace. In this way, if the next log
      checkpoint occurs at some LSN that is after the initialization of
      the tablespace and before the last recovered LSN, a FILE_MODIFY
      record will be written, so that a subsequent recovery will succeed.
      
      The recovery was broken when
      commit 0261eac5 merged the 10.5
      commit f443cd11 (MDEV-27022).
      7b891008
    • Marko Mäkelä's avatar
      Merge mariadb-10.6.7 into 10.6 · f1e08eaa
      Marko Mäkelä authored
      f1e08eaa
  3. 12 Feb, 2022 7 commits
  4. 11 Feb, 2022 6 commits
    • Vladislav Vaintroub's avatar
      MDEV-27813 Windows, compiling : RelWithDebInfo should use /Ob2 · 91d9e9bd
      Vladislav Vaintroub authored
      Fixed inlining flags. Remove /Ob1 added by CMake for RelWithDebInfo.
      (the actual compiler default is /Ob2 if optimizations are enabled)
      
      Allow to define custom /Ob flag with new variable MSVC_INLINE, if desired
      91d9e9bd
    • Marko Mäkelä's avatar
      Disable innodb_gis.rtree_compress2 · 1a7573d5
      Marko Mäkelä authored
      1a7573d5
    • Krunal Bauskar's avatar
      MDEV-27805: tpcc workload shows regression with MDB-10.6 · fb875055
      Krunal Bauskar authored
      - regression got revealed while running tpcc workload.
      
      - as part of MDEV-25919 changes logic for statistics computation was revamped.
      
      - if the table has changed to certain threshold then table is added to
        statistics recomputation queue (dict_stats_recalc_pool_add)
      
      - after the table is added to queue the background statistics thread is
        notified
      
      - during revamp the condition to notify background statistics threads was
        wrongly updated to check if the queue/vector is empty when it should
        check if there is queue/vector has entries to process.
      
      - vec.begin() == vec.end() : only when vector is empty
      
      - also accessing these iterator outside the parallely changing vector is not
        safe
      
      - fix now tend to notify background statistics thread if the logic adds
        an entry to the queue/vector.
      fb875055
    • Marko Mäkelä's avatar
      MDEV-27774 fixup: Replace sspin_lock with srw_lock · bd70ae05
      Marko Mäkelä authored
      srw_lock in log_sys.append_prepare() turned out to yield best throughput.
      We might try a NUMA aware spin lock implementation later.
      bd70ae05
    • Vlad Lesin's avatar
      MDEV-27746 Wrong comparision of BLOB's empty preffix with non-preffixed BLOB... · 3b10e8f8
      Vlad Lesin authored
      MDEV-27746 Wrong comparision of BLOB's empty preffix with non-preffixed BLOB causes rows count mismatch for clustered and secondary indexes during non-locking read
      
      row_sel_sec_rec_is_for_clust_rec() treats empty BLOB prefix field in
      secondary index as a field equal to any external BLOB field in clustered
      index. Row_sel_get_clust_rec_for_mysql::operator() doesn't zerro out
      clustered record pointer in row_search_mvcc(), and row_search_mvcc()
      thinks that delete-marked secondary index record has visible for
      "CHECK TABLE"'s read view old-versioned clustered index record, and
      row_scan_index_for_mysql() counts it as a row.
      
      The fix is to execute row_sel_sec_rec_is_for_blob() in
      row_sel_sec_rec_is_for_clust_rec() if clustered field contains BLOB's
      reference.
      3b10e8f8
    • Samuel Thibault's avatar
      MDEV-27804 Fails to build - perf schema - thread id of type uintptr_t requires header · 7c6ec0a5
      Samuel Thibault authored
      While building on GNU/Hurd and kfreebsd.
      
      On the C++ standard uintptr_t can be defined in <cstdint>
      ref: https://www.cplusplus.com/reference/cstdint/
      
      Fixes: 0d44792a
      7c6ec0a5
  5. 10 Feb, 2022 8 commits