1. 14 Mar, 2022 8 commits
    • Marko Mäkelä's avatar
      Merge 10.6 into 10.7 · e67d46e4
      Marko Mäkelä authored
      e67d46e4
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 572e3430
      Marko Mäkelä authored
      572e3430
    • Marko Mäkelä's avatar
      MDEV-28050: clang -Wtypedef-redefinition when PLUGIN_S3=NO · 258c34f1
      Marko Mäkelä authored
      Let us remove the redundant typedef.
      This problem was revealed by
      commit 77c184df
      258c34f1
    • Marko Mäkelä's avatar
      MDEV-24841: More workarounds · c2146ce7
      Marko Mäkelä authored
      For some reason, the tests of the MemorySanitizer build on 10.5 failed
      with both clang 13 and clang 14 with SIGSEGV. On 10.6 where it worked
      better, some more places to work around were identified.
      c2146ce7
    • Marko Mäkelä's avatar
      MDEV-24841 Build error with MSAN use-of-uninitialized-value in comp_err · 59359fb4
      Marko Mäkelä authored
      The MemorySanitizer implementation in clang includes some built-in
      instrumentation (interceptors) for GNU libc. In GNU libc 2.33, the
      interface to the stat() family of functions was changed. Until the
      MemorySanitizer interceptors are adjusted, any MSAN code builds
      will act as if that the stat() family of functions failed to initialize
      the struct stat.
      
      A fix was applied in
      https://reviews.llvm.org/rG4e1a6c07052b466a2a1cd0c3ff150e4e89a6d87a
      but it fails to cover the 64-bit variants of the calls.
      
      For now, let us work around the MemorySanitizer bug by defining
      and using the macro MSAN_STAT_WORKAROUND().
      59359fb4
    • Marko Mäkelä's avatar
      MDEV-28049 Error on compiling trx0purge.cc · 3b499679
      Marko Mäkelä authored
      In commit 83212632
      the trx_rseg_latch was instrumented for performance_schema,
      but some acqusitions of rd_lock() were not adjusted.
      Thus, the build would fail on platforms where a futex-based
      rw-lock is not available (SUX_LOCK_GENERIC) unless the code
      was built with cmake -DPLUGIN_PERFSCHEMA=NO.
      3b499679
    • Nayuta Yanagisawa's avatar
      MDEV-27169 Change default values of Spider plugin variables to default values of table variables · 810ed88c
      Nayuta Yanagisawa authored
      Some Spider table options introduces an unnecessary complication to
      Spider settings. For example, the default value of the plugin variable
      spider_auto_increment_mode is -1 (use table value) and the default
      table option value is 0 (normal mode). Thus, the virtual default value
      of the variable is 0. This kind of indirection is confusing.
      
      In order to delete such confusing table options in a future release,
      we first change the default values of some Spider plugin variables
      from -1 (use table value) to the corresponding default table values.
      The default table values are defined in spider_set_connect_info_default().
      
      At the same time, we also deprecate the option value -1 (use table value).
      810ed88c
    • Nayuta Yanagisawa's avatar
      MDEV-27923 Deprecate spider_use_handler · 332c59a2
      Nayuta Yanagisawa authored
      Deprecate the plugin variable spider_use_handler and the corresponding
      table parameters "uhd" and "use_handler".
      
      Passing a Handler statement to data nodes, without converting it to
      SQL sometimes, might improve the performance, while this introduces
      some complication to the implementation.
      
      In the first place, only a few people use Handler statements and the
      performance gain seems not to be very significant. Further, setting
      spider_use_handler > 0 disables the GROUP BY handler. So, we decided
      to deprecate the variable.
      332c59a2
  2. 12 Mar, 2022 3 commits
  3. 11 Mar, 2022 18 commits
  4. 10 Mar, 2022 7 commits
  5. 09 Mar, 2022 3 commits
    • Daniel Black's avatar
      MDEV-27936 hardware lock elision on ppc64{,le} failing to compile · e8fc62b9
      Daniel Black authored
      There is only a very small range of gcc compiler versions
      that allow the built_{htm} functions to be defined without -mhtm
      being specified as a global C{,XX}FLAGS.
      
      Because the design is centered around enable HTM only in the
      functional blocks that use it, this breaks on the inclusion
      of the htmxlintrin.h header that includes this.
      
      As a partial mitigation, extented to GNU/clang compilers,
      transaction functions gain the attribute "hot".
      
      In general the use of htm is around the optimistic
      transaction ability of the function. The key part of using the
      hot attribute is to place these functions together so that
      a maximization of icache, tlb and OS paging can ensure that
      these can be ready to execute by any thread/cpu with the
      minimum amount of overhead.
      
      POWER is particularly affected here because the xbegin/xend
      functions are not inline.
      
      srw_lock.cc requires the -mhtm cflag, both in the storage
      engine and the unit tests.
      e8fc62b9
    • Otto Kekäläinen's avatar
      c61249ee
    • Otto Kekäläinen's avatar
      Fix failing Gitlab-CI by adding pcre2-devel as a build dependency · ffb7f885
      Otto Kekäläinen authored
      The commits a73acf6c and
      4d74bac8 updated the PCRE library to a new
      version, which in turn requires CMake 3.0. That does not exist in CentOS 7
      nor 8, so builds started failing.
      
      Actually the build should not be downloading anything at all. The root
      cause was that pcre2-devel was missing from the dependencies. This was
      originally not detected, as the download fallback had masked the issue.
      ffb7f885
  6. 08 Mar, 2022 1 commit