1. 10 Dec, 2022 1 commit
    • Julius Goryavsky's avatar
      MDEV-29814: galera_var_notify_ssl_ipv6 causes testing system to hang · a4914008
      Julius Goryavsky authored
      This commit fixes the test system hanging due to
      the galera_var_notify_ssl_ipv6 test and also brings
      the wsrep_notify[_ssl].sh files in line with each other
      between the user template and the mtr suite.
      
      Quotes are also added here to avoid problems if the
      user specifies the value of one of the variables at the
      beginning of the file containing shell-specific characters,
      for example, if the password or username specified in the
      PSWD and USER variables will contain the "$" character.
      
      Also fixed an issue with automatic --ssl-verify-server-cert
      option substitution when the corresponding value is set
      by the user to "1" or "on".
      
      Also fixed some tests here to avoid joining one of the nodes
      to another cluster when the nodes are restarted from the mtr
      side, which can lead to random failures when testing with
      buildbot.
      a4914008
  2. 07 Dec, 2022 1 commit
    • Jan Lindström's avatar
      MDEV-30172: Galera test case cleanup · 0174a9ff
      Jan Lindström authored
      * Delete tests that are not supported and not going to be supported
        any time soon
      * Fix result set on tests that are not run on bb
      * Fix tests that fail because of auto increment offset
      * Make sure that disabled tests have open bug report
      0174a9ff
  3. 29 Nov, 2022 5 commits
  4. 26 Nov, 2022 6 commits
  5. 23 Nov, 2022 1 commit
    • lrf141's avatar
      MDEV-19190 Assertion `...auto_inc_initialized` failed in get_auto_increment · da03d8d9
      lrf141 authored
      This is a DELETE only case. Normally this statement doesn't make inserts,
      but DELETE ... FOR PORTION changes it. UPDATE and INSERT initializes
      autoinc by calling handler::info(HA_STATUS_AUTO). Also myisam and innodb
      can lazily initialize it in their update_create_info overrides.
      
      The solution is to initialize autoinc during delete preparation,
      if period (DELETE FOR PORTION) is specified.
      
      The initial work has been done by Kento Takeuchi by his PR #2048,
      however this commit also holds a few technical modifications by
      Nikita Malyavin
      da03d8d9
  6. 22 Nov, 2022 2 commits
    • Julius Goryavsky's avatar
      MDEV-29817: Issues with handling options for SSL CRLs (and some others) · 1ebf0b73
      Julius Goryavsky authored
      This patch adds the correct setting of the "--tls-version" and
      "--ssl-verify-server-cert" options in the client-side utilities
      such as mysqltest, mysqlcheck and mysqlslap, as well as the correct
      setting of the "--ssl-crl" option when executing queries on the
      slave side, and also the correct option codes in the "sslopts-logopts.h"
      file (in the latter case, incorrect values are not a problem right
      now, but may cause subtle test failures in the future, if the option
      handling code changes).
      1ebf0b73
    • Alexander Barkov's avatar
      MDEV-27670 Assertion `(cs->state & 0x20000) == 0' failed in my_strnncollsp_nchars_generic_8bit · 931549ff
      Alexander Barkov authored
      Also fixes:
      
      MDEV-27768 MDEV-25440: Assertion `(cs->state & 0x20000) == 0' failed in my_strnncollsp_nchars_generic_8bit
      
      The "strnncollsp_nchars" virtual function pointer for tis620_thai_nopad_ci
      was incorrectly initialized to a generic function
      my_strnncollsp_nchars_generic_8bit(), which crashed on assert.
      
      Implementing a tis620 specific function version.
      931549ff
  7. 21 Nov, 2022 1 commit
  8. 20 Nov, 2022 1 commit
  9. 09 Nov, 2022 2 commits
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 20969aa4
      Marko Mäkelä authored
      20969aa4
    • Marko Mäkelä's avatar
      MDEV-29883 Deadlock between InnoDB statistics update and BLOB insert · 6b91792a
      Marko Mäkelä authored
      This is a backport of commit 8b6a308e
      from MariaDB Server 10.6.11. No attempt to reproduce the hang
      in earlier an earlier version of MariaDB Server than 10.6 was made.
      
      In each caller of fseg_n_reserved_pages() except ibuf_init_at_db_start()
      which is a special case for ibuf.index at database startup, we must hold
      an index latch that prevents concurrent allocation or freeing of index
      pages.
      
      Any operation that allocates or free pages that belong to an index tree
      must first acquire an index latch in non-shared mode, and while
      holding that, acquire an index root page latch in non-shared mode.
      
      btr_get_size(), btr_get_size_and_reserved(): Assert that a strong enough
      index latch is being held.
      
      dict_stats_update_transient_for_index(),
      dict_stats_analyze_index(): Acquire a strong enough index latch.
      
      These operations had followed the same order of acquiring latches in
      every InnoDB version since the very beginning
      (commit c533308a).
      
      The hang was introduced in
      commit 2e814d47 which imported
      mysql/mysql-server@ac74632293bea967b352d1b472abedeeaa921b98
      which failed to strengthen the locking requirements of the function
      btr_get_size().
      6b91792a
  10. 08 Nov, 2022 13 commits
  11. 07 Nov, 2022 6 commits
  12. 05 Nov, 2022 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-29951 server hang in crash handler · 92be8d20
      Vladislav Vaintroub authored
      When trying to output stacktrace, and addr2line is not installed, the
      child process forked by start_addr2line_fork() will fail to do exec(),
      and finish with exit(1).
      
      There is a problem with exit() though - it runs exit handlers,
      and for the forked copy of crashing process, it is a bad idea.
      
      In 10.5+ code for example, exit handlers include
      tpool::task_group static destructors, and it will hang infinitely
      waiting for completion of the outstanding tasks.
      
      The fix is to use _exit() instead, which skips the execution of exit
      handlers
      92be8d20