1. 27 Sep, 2022 1 commit
    • Marko Mäkelä's avatar
      Revert MDEV-29566 · 8833c24c
      Marko Mäkelä authored
      This reverts commit bdc5548c
      that introduced a work-around to ha_innobase::delete_table()
      for avoiding failures when trying to remove table partitions.
      
      This work-around (of not removing statistics in case of a locking
      conflict) would occasionally cause a failure of the test
      parts.part_supported_sql_func_innodb:
      
      mysqltest: In included file "./suite/parts/inc/partition_supported_sql_funcs.inc":
      included from ./suite/parts/inc/part_supported_sql_funcs_main.inc at line 91:
      included from /buildbot/amd64-ubuntu-2004-msan/build/mysql-test/suite/parts/t/part_supported_sql_func_innodb.test at line 44:
      At line 234: query 'alter table t66
      reorganize partition s1 into
      (partition p0 values less than ($valsqlfunc),
      partition p1 values less than maxvalue)' failed: ER_DUP_KEY (1022): Can't write; duplicate key in table 'mysql.innodb_table_stats'
      8833c24c
  2. 26 Sep, 2022 6 commits
  3. 23 Sep, 2022 4 commits
    • Marko Mäkelä's avatar
      Fix build without either ENABLED_DEBUG_SYNC or DBUG_OFF · 3c92050d
      Marko Mäkelä authored
      There are separate flags DBUG_OFF for disabling the DBUG facility
      and ENABLED_DEBUG_SYNC for enabling the DEBUG_SYNC facility.
      Let us allow debug builds without DEBUG_SYNC.
      
      Note: For CMAKE_BUILD_TYPE=Debug, CMakeLists.txt will continue to
      define ENABLED_DEBUG_SYNC.
      3c92050d
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 13eae188
      Marko Mäkelä authored
      13eae188
    • Marko Mäkelä's avatar
      MDEV-29613 Improve WITH_DBUG_TRACE=OFF · a69cf6f0
      Marko Mäkelä authored
      In commit 28325b08
      a compile-time option was introduced to disable the macros
      DBUG_ENTER and DBUG_RETURN or DBUG_VOID_RETURN.
      
      The parameter name WITH_DBUG_TRACE would hint that it also
      covers DBUG_PRINT statements. Let us do that: WITH_DBUG_TRACE=OFF
      shall disable DBUG_PRINT() as well.
      
      A few InnoDB recovery tests used to check that some output from
      DBUG_PRINT("ib_log", ...) is present. We can live without those checks.
      
      Reviewed by: Vladislav Vaintroub
      a69cf6f0
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-29277 On error, fts_sync_table() fails to release a table handle · 673243c8
      Thirunarayanan Balathandayuthapani authored
       fts_sync_commit() fails to release the auxiliary table handle
      when it encounters error. This issue is caused by
      commit 1fd7d3a9(MDEV-25581).
      fts_cache_clear() releases the auxiliary table handles.
      MDEV-25581's patch clear the cache only if fts_sync_commit was
      successful.
      673243c8
  4. 22 Sep, 2022 3 commits
  5. 21 Sep, 2022 4 commits
    • Alexey Botchkov's avatar
      Backport fix for MDEV-29352 to 10.3-10.5 · f5e4e154
      Alexey Botchkov authored
      The fix for MDEV-29352 was pushed to 10.6+ but the code causing the
      bug is old and the bug is unlikely to be a recent regression in 10.6.
      So, we apply the fix also to older versions, 10.3-10.5.
      
      The original commit message:
      
      MDEV-29352 SIGSEGV's in strlen and unknown location on optimized builds at SHUTDOWN
      
      When the UDF creation frails to write the newly created UDF into
      the related system table, the UDF is still created in memory.
      
      However, as it is now, the related DLL is unloaded in this case right
      in the mysql_create_function. And failure happens when the UDF handle
      is freed and tries to unload the respective DLL which is still unloaded.
      f5e4e154
    • Alexey Botchkov's avatar
      MDEV-29352 SIGSEGV's in strlen and unknown location on optimized builds at SHUTDOWN · ca51c9fd
      Alexey Botchkov authored
      When the UDF creation frails to write the newly created UDF into
      the related system table, the UDF is still created in memory.
      
      However, as it is now, the related DLL is unloaded in this case right
      in the mysql_create_function. And failure happens when the UDF handle
      is freed and tries to unload the respective DLL which is still unloaded.
      ca51c9fd
    • Marko Mäkelä's avatar
      MDEV-28701 after-merge fix · 789f55c9
      Marko Mäkelä authored
      Update the result of a ./mtr --ps-protocol test
      789f55c9
    • Ian Gilfillan's avatar
      MDEV-29275 Fix server/Docs typos · b9c1c07f
      Ian Gilfillan authored
      b9c1c07f
  6. 20 Sep, 2022 7 commits
  7. 19 Sep, 2022 13 commits
    • Vlad Lesin's avatar
      MDEV-29515 innodb.deadlock_victim_race is unstable · 5ab78cf3
      Vlad Lesin authored
      The test is unstable because 'UPDATE t SET b = 100' latches a page and
      waits for 'upd_cont' signal in lock_trx_handle_wait_enter sync point, then
      purge requests RW_X_LATCH on the same page, and then 'SELECT * FROM t
      WHERE a = 10 FOR UPDATE' requests RW_S_LATCH, waiting for RW_X_LATCH
      requested by purge. 'UPDATE t SET b = 100' can't release page latch as
      it waits for upd_cont signal, which must be emitted after 'SELECT * FROM
      t WHERE a = 10 FOR UPDATE' acquired RW_S_LATCH. So we have a deadlock,
      which is resolved by finishing the debug sync point wait by timeout, and
      the 'UPDATE t SET b = 100' releases it's record locks rolling back the
      transaction, and 'SELECT * FROM t WHERE a = 10 FOR UPDATE' is finished
      successfully instead of finishing by lock wait timeout.
      
      The fix is to forbid purging during the test by opening read view in a
      separate connection before the first insert into the table.
      
      Besides, 'lock_wait_end' syncpoint is not needed, as it enough to wait
      the end of the SELECT execution to let the UPDATE to continue.
      5ab78cf3
    • Daniel Bartholomew's avatar
      bump the VERSION · a762dad4
      Daniel Bartholomew authored
      a762dad4
    • Andrew Hutchings's avatar
      MDEV-29426 Fix memory leak in CONNECT JSON/BSON (#2255) · 65b4a2af
      Andrew Hutchings authored
      * MDEV-29426 Fix memory leak in CONNECT JSON/BSON
      
      If information is being gathered on JSON/BSON tables we leak the heap
      allocated to the table class. With this fix we close and cleanup
      instead, just as we do for XML tables.
      65b4a2af
    • Marko Mäkelä's avatar
      Fix clang -Wunused-but-set-variable · 5e959bc3
      Marko Mäkelä authored
      5e959bc3
    • Marko Mäkelä's avatar
      Merge innodb.cmake to CMakeLists.txt · 3ab4b260
      Marko Mäkelä authored
      The reason why mysql/mysql-server@8020cfac20c55a870a874446870d5e90bdc181ed
      split the files was some unit tests that never existed in the
      MariaDB Server code base. The storage/innobase/unittest/ works just fine
      with this file.
      
      This is reverting part of 2e814d47
      which applied InnoDB changes from MySQL 5.7.9.
      3ab4b260
    • Marko Mäkelä's avatar
      Cleanup: Remove HAVE_IB_LINUX_FUTEX · 73658ede
      Marko Mäkelä authored
      The futex system calls were introduced in Linux 2.6.0,
      which was released in December 2003. It should be safe to assume
      that the system calls are always available on the Linux kernels
      that MariaDB Server 10.3 would run on.
      73658ede
    • Marko Mäkelä's avatar
      Cleanup: Remove INNODB_COMPILER_HINTS · 4c8b65db
      Marko Mäkelä authored
      There should be no point to disable branch prediction hints or prefetch.
      4c8b65db
    • Marko Mäkelä's avatar
      InnoDB cleanup: Replace UNIV_LINUX, UNIV_SOLARIS, UNIV_AIX · c22dff21
      Marko Mäkelä authored
      Let us use the normal platform-specific preprocessor symbols
      __linux__, __sun__, _AIX instead of some homebrew ones.
      
      The preprocessor symbol UNIV_HPUX must have lost its meaning
      by f6deb00a (note: the symbol
      UNIV_HPUX10 is being checked for, but only UNIV_HPUX is defined).
      c22dff21
    • Marko Mäkelä's avatar
      MDEV-29559 Recovery of INSERT_HEAP_DYNAMIC into secondary index fails · fed0d85d
      Marko Mäkelä authored
      log_phys_t::apply(): When parsing an INSERT_HEAP_DYNAMIC record,
      allow ll==rlen to hold for the last part. A secondary index record
      may inherit all preceding bytes from the infimum pseudo-record.
      
      For INSERT_HEAP_REDUNDANT, some header bytes will always be present
      because the header will never be copied from the page infimum.
      We will tolerate ll==rlen also in that case to be consistent with
      the parsing of INSERT_HEAP_DYNAMIC.
      fed0d85d
    • Marko Mäkelä's avatar
      Correct typos in a function comment · bbf81b51
      Marko Mäkelä authored
      Thanks to Thirunarayanan Balathandayuthapani for spotting this.
      bbf81b51
    • Daniel Black's avatar
      Merge 10.4 into 10.5 · 3c8674ed
      Daniel Black authored
      3c8674ed
    • Ian Gilfillan's avatar
      Update 10.5 HELP contents · 01d78d31
      Ian Gilfillan authored
      01d78d31
    • Ian Gilfillan's avatar
      Update 10.4 HELP contents · ef784c4e
      Ian Gilfillan authored
      ef784c4e
  8. 15 Sep, 2022 2 commits
    • Daniel Black's avatar
      MDEV-16708: ps_missed_cmds test - HELP deconflict · 5e270ca2
      Daniel Black authored
      To make it possible to update the HELP text of UPDATE without
      changing this test every time, the test is changed to look
      for a faked help topic. A non-existant help topic generates
      different metadata and wasn't suitable as a test.
      
      Requested by Ian Gilfillan.
      
      Reviewed by Dmitry Shulga
      5e270ca2
    • Alexander Barkov's avatar
      A cleanup for MDEV-29446 Change SHOW CREATE TABLE to display default collation · 23a8654c
      Alexander Barkov authored
      Recording test results according to MDEV-29446 changes:
      
        mysql-test/suite/galera/r/galera_rsu_wsrep_desync.result
        mysql-test/suite/galera/r/galera_sync_wait_show.result
        mysql-test/suite/galera/r/lp1376747-4.result
        mysql-test/suite/s3/replication_partition.result
        mysql-test/suite/s3/replication_stmt.result
      23a8654c