diff options
author | Christos Chatzaras <chris@cretaforce.gr> | 2025-08-24 18:41:16 +0200 |
---|---|---|
committer | Jochen Neumeister <joneum@FreeBSD.org> | 2025-08-24 18:42:53 +0200 |
commit | ba614a3b226631bf387d8066930f154a842f17eb (patch) | |
tree | 7d7968f5825eeadc58f77517ac9d3a3874cb67b6 | |
parent | deskutils/py-paperless-ngx: Update to 2.18.2 (diff) |
databases/mysql80-{client, server}: Update to 8,0.43
Bugs Fixed
Important Note; Group Replication: The Group Communication System
(GCS) handles Group Replication communication between members, and keeps
track of the group membership and connections between all group members.
Membership tracking includes the membership's current and previous two
iterations. When a member leaves, the remaining members in the group
keep a record of the departing member but stop communicating with it
until it returns. For example: The group contains members M1, M2, and
M3. M3 leaves the group; M1 and M2 stop communicating with M3. When a
new member (M4) joins, it learns the previous iterations of this group's
membership and attempts to communicate with all servers, including those
from previous iterations (in this case, M3).
In the event that some previous servers were gone and did not
return, the new member continuously tried to connect to the missing
servers; in some conditions, these ongoing connection attempts could
introduce network latency affecting group member communication.
In order to avoid this issue, connections to servers that belong to
iterations of the group membership are now stopped after 5 minutes,
which should be sufficient time to re-establish valid connections
without imposing a continuing impact on group communication. (Bug
NDB Cluster: Following an upgrade from NDB 8.0 to NDB 8.4, all data
nodes in the cluster underwent an unexpected simultaneous restart. This
occurred when the transaction coordinator had no scan state, leading to
protocol timeout; the resulting misalignement in protocol states caused
data nodes to shut down unexpectedly. This is fixed by extending
existing handling of an unexpected SCAN_NEXTREQ signal to cover the case
when the scan is already stateless. (Bug #37994985)
References: This issue is a regression of: Bug #37022901.
Full Changelog see:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-43.html
PR: 288952
Sponsored by: Netzkommune GmbH
6 files changed, 16 insertions, 66 deletions
diff --git a/databases/mysql80-server/Makefile b/databases/mysql80-server/Makefile index 3249e5753c5d..b4e489fa930e 100644 --- a/databases/mysql80-server/Makefile +++ b/databases/mysql80-server/Makefile @@ -1,5 +1,5 @@ PORTNAME?= mysql -PORTVERSION= 8.0.42 +PORTVERSION= 8.0.43 PORTREVISION?= 0 CATEGORIES= databases MASTER_SITES= MYSQL/MySQL-8.0 diff --git a/databases/mysql80-server/distinfo b/databases/mysql80-server/distinfo index ab25a6ee8a4c..2e2aacae1568 100644 --- a/databases/mysql80-server/distinfo +++ b/databases/mysql80-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1744706424 -SHA256 (mysql-boost-8.0.42.tar.gz) = c2aa67c618edfa1bc379107fe819ca8e94cba5d85f156d1053b8fedc88cc5f8f -SIZE (mysql-boost-8.0.42.tar.gz) = 492301593 +TIMESTAMP = 1755599236 +SHA256 (mysql-boost-8.0.43.tar.gz) = 85fd5c3ac88884dc5ac4522ce54ad9c11a91f9396fecaa27152c757a3e6e936f +SIZE (mysql-boost-8.0.43.tar.gz) = 492715363 diff --git a/databases/mysql80-server/files/patch-sql_mdl__context__backup.h b/databases/mysql80-server/files/patch-sql_mdl__context__backup.h index ba52b78fcd5b..d7106154b0fe 100644 --- a/databases/mysql80-server/files/patch-sql_mdl__context__backup.h +++ b/databases/mysql80-server/files/patch-sql_mdl__context__backup.h @@ -1,11 +1,11 @@ ---- sql/mdl_context_backup.h.orig 2024-07-12 19:15:25 UTC +--- sql/mdl_context_backup.h.orig 2025-08-19 10:30:31 UTC +++ sql/mdl_context_backup.h -@@ -47,7 +47,7 @@ class MDL_context_backup_manager { - /** +@@ -49,7 +49,7 @@ class MDL_context_backup_manager { Key for uniquely identifying MDL_context in the MDL_context_backup map. */ -- typedef std::basic_string<uchar> MDL_context_backup_key; -+ typedef std::vector<uchar> MDL_context_backup_key; + using MDL_context_backup_key = +- std::basic_string<uchar, my_char_traits<uchar>>; ++ std::vector<uchar>; class MDL_context_backup; diff --git a/databases/mysql80-server/files/patch-sql_range__optimizer_index__range__scan__plan.cc b/databases/mysql80-server/files/patch-sql_range__optimizer_index__range__scan__plan.cc deleted file mode 100644 index 656f14800d8a..000000000000 --- a/databases/mysql80-server/files/patch-sql_range__optimizer_index__range__scan__plan.cc +++ /dev/null @@ -1,39 +0,0 @@ ---- sql/range_optimizer/index_range_scan_plan.cc.orig 2024-07-12 19:15:25 UTC -+++ sql/range_optimizer/index_range_scan_plan.cc -@@ -1016,11 +1016,11 @@ static bool null_part_in_key(KEY_PART *key_part, const - return false; - } - --// TODO(sgunders): This becomes a bit simpler with C++20's string_view --// constructors. --static inline std::basic_string_view<uchar> make_string_view(const uchar *start, -- const uchar *end) { -- return {start, static_cast<size_t>(end - start)}; -+static inline bool equal(const uchar *start1, const uchar *end1, -+ const uchar *start2, const uchar *end2) { -+ auto diff1 = end1 - start1; -+ auto diff2 = end2 - start2; -+ return diff1 == diff2 && memcmp(start1, start2, diff1) == 0; - } - - /** -@@ -1083,8 +1083,7 @@ static bool get_ranges_from_tree_given_base( - node->next_key_part->type == SEL_ROOT::Type::KEY_RANGE && - node->next_key_part->root->part == part + 1) { - if (node->min_flag == 0 && node->max_flag == 0 && -- make_string_view(min_key, tmp_min_key) == -- make_string_view(max_key, tmp_max_key)) { -+ equal(min_key, tmp_min_key, max_key, tmp_max_key)) { - // This range was an equality predicate, and we have more - // keyparts to scan, so use its range as a base for ranges on - // the next keypart(s). E.g. if we have (a = 3) on this keypart, -@@ -1160,8 +1159,7 @@ static bool get_ranges_from_tree_given_base( - else - flag |= NO_MAX_RANGE; - } -- if (flag == 0 && make_string_view(base_min_key, tmp_min_key) == -- make_string_view(base_max_key, tmp_max_key)) { -+ if (flag == 0 && equal(base_min_key, tmp_min_key, base_max_key, tmp_max_key)) { - flag |= EQ_RANGE; - /* - Note that keys which are extended with PK parts have no diff --git a/databases/mysql80-server/files/patch-sql_stream__cipher.h b/databases/mysql80-server/files/patch-sql_stream__cipher.h index 58730a516873..63c2e8b5707b 100644 --- a/databases/mysql80-server/files/patch-sql_stream__cipher.h +++ b/databases/mysql80-server/files/patch-sql_stream__cipher.h @@ -1,4 +1,4 @@ ---- sql/stream_cipher.h.orig 2024-07-12 19:15:25 UTC +--- sql/stream_cipher.h.orig 2025-08-19 10:33:36 UTC +++ sql/stream_cipher.h @@ -27,6 +27,7 @@ #include <openssl/evp.h> @@ -6,14 +6,14 @@ #include <string> +#include <vector> - /** - @file stream_cipher.h -@@ -35,7 +36,7 @@ - binary log files. + #include "my_char_traits.h" + +@@ -38,7 +39,7 @@ using Key_string = */ --typedef std::basic_string<unsigned char> Key_string; -+typedef std::vector<unsigned char> Key_string; + using Key_string = +- std::basic_string<unsigned char, my_char_traits<unsigned char>>; ++ std::vector<unsigned char>; /** @class Stream_cipher diff --git a/databases/mysql80-server/files/patch-unittest_gunit_binlogevents_transaction__compression-t.cc b/databases/mysql80-server/files/patch-unittest_gunit_binlogevents_transaction__compression-t.cc deleted file mode 100644 index 4ac80661920f..000000000000 --- a/databases/mysql80-server/files/patch-unittest_gunit_binlogevents_transaction__compression-t.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- unittest/gunit/binlogevents/transaction_compression-t.cc.orig 2024-07-12 19:15:25 UTC -+++ unittest/gunit/binlogevents/transaction_compression-t.cc -@@ -51,7 +51,7 @@ class TransactionPayloadCompressionTest : public ::tes - using Managed_buffer_t = Decompressor_t::Managed_buffer_t; - using Size_t = Decompressor_t::Size_t; - using Char_t = Decompressor_t::Char_t; -- using String_t = std::basic_string<Char_t>; -+ using String_t = std::vector<Char_t>; - using Decompress_status_t = - binary_log::transaction::compression::Decompress_status; - using Compress_status_t = |