1. 14 Sep, 2023 1 commit
  2. 13 Sep, 2023 5 commits
    • Brandon Nesterenko's avatar
      MDEV-31177: SHOW SLAVE STATUS Last_SQL_Errno Race Condition on Errored Slave Restart · 1407f999
      Brandon Nesterenko authored
      The SQL thread and a user connection executing SHOW SLAVE STATUS
      have a race condition on Last_SQL_Errno, such that a slave which
      previously errored and stopped, on its next start, SHOW SLAVE STATUS
      can show that the SQL Thread is running while the previous error is
      also showing.
      
      The fix is to move when the last error is cleared when the SQL
      thread starts to occur before setting the status of
      Slave_SQL_Running.
      
      Thanks to Kristian Nielson for his work diagnosing the problem!
      
      Reviewed By:
      ============
      Andrei Elkin <andrei.elkin@mariadb.com>
      Kristian Nielson <knielsen@knielsen-hq.org>
      1407f999
    • Brandon Nesterenko's avatar
      MDEV-31038: rpl.rpl_xa_prepare_gtid_fail clean up · 7de0c7b5
      Brandon Nesterenko authored
      - Removed commented out and unused lines.
      - Updated test to reference true failure of timeout
        rather than deadlock
      - Switched save variables from MTR to user
      - Forced relay-log purge to not potentially re-execute
        an already prepared transaction
      7de0c7b5
    • Daniel Black's avatar
      MDEV-31369 Disable TLS v1.0 and 1.1 for MariaDB · 1831f8e4
      Daniel Black authored
      Remove TLSv1.1 from the default tls_version system variable.
      
      Output a warning if TLSv1.0 or TLSv1.1 are selected.
      
      Thanks Tingyao Nian for the feature request.
      1831f8e4
    • Sergei Golubchik's avatar
      post-merge fix · 9e9cefde
      Sergei Golubchik authored
      9e9cefde
    • Oleg Smirnov's avatar
      MDEV-31315 Add client_ed25519.dll to the list of plugins shipped with HeidiSQL · 5fe8d0d5
      Oleg Smirnov authored
      There is a list of plugins in the WiX configuration file for HeidiSQL,
      and the installer only installs DLLs from that list although the HeidiSQL
      portable archive may include other plugins.
      
      This commit adds client_ed25519.dll to this list and also rearranges
      the list alphabetically, so it is easier to verify its contents
      5fe8d0d5
  3. 12 Sep, 2023 2 commits
    • Marko Mäkelä's avatar
      MDEV-32150 InnoDB reports corruption on 32-bit platforms with ibd files sizes > 4GB · d20a4da2
      Marko Mäkelä authored
      buf_read_page_low(): Use 64-bit arithmetics when computing the
      file byte offset. In other calls to fil_space_t::io() the offset
      was being computed correctly, for example by
      buf_page_t::physical_offset().
      d20a4da2
    • sjaakola's avatar
      MDEV-31833 replication breaks when using optimistic replication and replica is a galera node · a3cbc44b
      sjaakola authored
      MariaDB async replication SQL thread was stopped for any failure
      in applying of replication events and error message logged for the failure
      was: "Node has dropped from cluster". The assumption was that event applying
      failure is always due to node dropping out.
      With optimistic parallel replication, event applying can fail for natural
      reasons and applying should be retried to handle the failure. This retry
      logic was never exercised because the slave SQL thread was stopped with first
      applying failure.
      
      To support optimistic parallel replication retrying logic this commit will
      now skip replication slave abort, if node remains in cluster (wsrep_ready==ON)
      and replication is configured for optimistic or aggressive retry logic.
      
      During the development of this fix, galera.galera_as_slave_nonprim test showed
      some problems. The test was analyzed, and it appears to need some attention.
      One excessive sleep command was removed in this commit, but it will need more
      fixes still to be fully deterministic. After this commit galera_as_slave_nonprim
      is successful, though.
      Signed-off-by: default avatarJulius Goryavsky <julius.goryavsky@mariadb.com>
      a3cbc44b
  4. 11 Sep, 2023 12 commits
  5. 09 Sep, 2023 1 commit
  6. 08 Sep, 2023 7 commits
  7. 07 Sep, 2023 1 commit
    • Kristian Nielsen's avatar
      MDEV-10356: rpl.rpl_parallel_temptable failure due to incorrect commit optimization of temptables · e937a64d
      Kristian Nielsen authored
      The problem was that parallel replication of temporary tables using
      statement-based binlogging could overlap the COMMIT in one thread with a DML
      or DROP TEMPORARY TABLE in another thread using the same temporary table.
      Temporary tables are not safe for concurrent access, so this caused
      reference to freed memory and possibly other nastiness.
      
      The fix is to disable the optimisation with overlapping commits of one
      transaction with the start of a later transaction, when temporary tables are
      in use. Then the following event groups will be blocked from starting until
      the one using temporary tables is completed.
      
      This also fixes occasional test failures of rpl.rpl_parallel_temptable seen
      in Buildbot.
      Signed-off-by: default avatarKristian Nielsen <knielsen@knielsen-hq.org>
      e937a64d
  8. 06 Sep, 2023 8 commits
  9. 05 Sep, 2023 3 commits
    • Monty's avatar
      Fix compression tests for s390x · b0847443
      Monty authored
      The problem is that s390x is not using the default bzip library we use
      on other platforms, which causes compressed string lengths to be differnt
      than what mtr tests expects.
      
      Fixed by:
      - Added have_normal_bzip.inc, which checks if compress() returns the
        expected length.
      - Adjust the results to match the expected one
        - main.func_compress.test & archive.archive
      - Don't print lengths that depends on compression library
        - mysqlbinlog compress tests & connect.zip
      - Don't print DATA_LENGTH for SET column_compression_zlib_level=1
        - main.column_compression
      b0847443
    • Aleksey Midenkov's avatar
      MDEV-30836 MTR hangs after tests have completed · a49b9314
      Aleksey Midenkov authored
      The problem is in manager/worker communication when worker sends
      WARNINGS and then TESTRESULT. If manager yet didn't read WARNINGS
      response both responses get into the same buffer, can_read() will
      indicate we have data only once and we must read all the data from the
      socket at once. Otherwise TESTRESULT response is lost and manager
      waits it forever.
      
      The fix now instead of single line reads the socket in a loop. But if
      there is only one response in the buffer the second read will be
      blocked waiting until new data arrives. That can be overcame by
      blocking(0) which sets the handle into non-blocking mode. If there is
      no data second read just returns undef.
      
      The problem is non-blocking mode is not supported by all perl flavors
      on Windows. Strawberry and ActiveState do not support it. Cygwin and
      MSYS2 do support. There is some ioctl() hack that was known to "work"
      but it doesn't do what is expected (it does not return data when there
      is data). So for Windows if it is not Cygwin we disable the fix.
      a49b9314
    • Aleksey Midenkov's avatar
      MDEV-30836 MTR MSYS2 fix attempt · 848b3af8
      Aleksey Midenkov authored
      MSYS2 is basically Cygwin, except it has more easy installation (but
      with tools which are not used) and it has some more control of path
      conversion via MSYS2_ARG_CONV_EXCL and MSYS2_ENV_CONV_EXCL. So it
      should be more Windows-friendly than Cygwin.
      
      Installation
      
      Similar to Cygwin, except installing patch requires additional command
      run from shell:
      
          pacman -S patch
      
      MSYS2 still doesn't work as it returns wierd "Bad address" when
      exec-ing forked process from create_process(). Same exec from
      standalone perl -e runs just fine... :(
      848b3af8