Skip to content

Commit

Permalink
percona80-cluster: Update to 8.0.39.
Browse files Browse the repository at this point in the history
Also integrate a patch that should fix TritonDataCenter/pkgsrc#380.
  • Loading branch information
jperkin committed Dec 11, 2024
1 parent d322e1b commit d34c5b7
Show file tree
Hide file tree
Showing 7 changed files with 57 additions and 42 deletions.
11 changes: 6 additions & 5 deletions percona80-cluster/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# $NetBSD$

MYSQL_VER= 8.0.36
WSREP_MAJOR= 28
MYSQL_VER= 8.0.39
WSREP_MAJOR= 30

DISTNAME= Percona-XtraDB-Cluster-${MYSQL_VER}-${WSREP_MAJOR}
PKGNAME= percona-cluster-${MYSQL_VER}
Expand Down Expand Up @@ -35,7 +35,9 @@ BOOST= boost_1_77_0
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${BOOST}.tar.bz2
SITES.${BOOST}.tar.bz2= ${MASTER_SITE_SOURCEFORGE:=boost/}

USE_LANGUAGES= c99 c++14
USE_LANGUAGES= c c++
USE_CC_FEATURES= c99
USE_CXX_FEATURES= c++14
USE_TOOLS+= bash bison gmake perl:run

.include "../../mk/bsd.prefs.mk"
Expand All @@ -52,6 +54,7 @@ PKG_GROUPS_VARS+= MYSQL_GROUP

CONFIG_SHELL= ${TOOLS_PATH.bash}

CMAKE_CONFIGURE_ARGS+= -DBoost_INCLUDE_DIR="${WRKDIR}/${BOOST}"
CMAKE_CONFIGURE_ARGS+= -DCMAKE_BUILD_TYPE=Release
CMAKE_CONFIGURE_ARGS+= -DINSTALL_DOCDIR="share/doc/mysql"
CMAKE_CONFIGURE_ARGS+= -DINSTALL_DOCREADMEDIR="share/doc/mysql"
Expand All @@ -66,8 +69,6 @@ CMAKE_CONFIGURE_ARGS+= -DINSTALL_SUPPORTFILESDIR="share/mysql"
CMAKE_CONFIGURE_ARGS+= -DMYSQL_DATADIR=${MYSQL_DATADIR}
CMAKE_CONFIGURE_ARGS+= -DROUTER_INSTALL_DOCDIR="share/mysql"
CMAKE_CONFIGURE_ARGS+= -DROUTER_INSTALL_LOGROTATEDIR="share/mysql"

CMAKE_CONFIGURE_ARGS+= -DBoost_INCLUDE_DIR="${WRKDIR}/${BOOST}"
CMAKE_CONFIGURE_ARGS+= -DWITH_BOOST="${WRKDIR}/${BOOST}"
CMAKE_CONFIGURE_ARGS+= -DWITH_LIBEVENT="system"
CMAKE_CONFIGURE_ARGS+= -DWITH_LZ4="system"
Expand Down
3 changes: 2 additions & 1 deletion percona80-cluster/PLIST
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ lib/libmysqlservices.a
lib/libperconaserverclient.a
lib/libperconaserverclient.so
lib/libperconaserverclient.so.21
lib/libperconaserverclient.so.21.2.36
lib/libperconaserverclient.so.21.2.39
lib/mysql/plugin/adt_null.so
lib/mysql/plugin/audit_log.so
lib/mysql/plugin/audit_log_filter.so
Expand Down Expand Up @@ -159,6 +159,7 @@ lib/mysql/plugin/component_udf_reg_real_func.so
lib/mysql/plugin/component_udf_unreg_3_func.so
lib/mysql/plugin/component_udf_unreg_int_func.so
lib/mysql/plugin/component_udf_unreg_real_func.so
lib/mysql/plugin/component_uuid_vx_udf.so
lib/mysql/plugin/component_validate_password.so
lib/mysql/plugin/conflicting_variables.so
lib/mysql/plugin/connection_control.so
Expand Down
16 changes: 8 additions & 8 deletions percona80-cluster/distinfo
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
$NetBSD$

RMD160 (Percona-XtraDB-Cluster-8.0.36-28.tar.gz) = 9524baf77ef895512a9b096aaaa1b00f3f0bda68
SHA512 (Percona-XtraDB-Cluster-8.0.36-28.tar.gz) = d1353f8bf880227c429903c9980886858ed977fdcf5079e453a006d8c836ad0aef364b413f1a89439997c35b60e5f39136bb6f2a31b578885a7604a3b1f2accc
Size (Percona-XtraDB-Cluster-8.0.36-28.tar.gz) = 476053281 bytes
RMD160 (boost_1_77_0.tar.bz2) = 2f65aacb1d4ec0296dc3cceab761757a2bc55986
BLAKE2s (Percona-XtraDB-Cluster-8.0.39-30.tar.gz) = 174a848429725a1f53503c9c47e28e825f076023b6c2091cf6924123bbe889b1
SHA512 (Percona-XtraDB-Cluster-8.0.39-30.tar.gz) = a6eb38cc0cd9976661ff91a3cdd38c2fb1bf6667a073fde571b9c6b26b454c60fcd1410ca26b7cb81c24003eb3b84a678dada0a8d4be069f97a364037b2b4bd2
Size (Percona-XtraDB-Cluster-8.0.39-30.tar.gz) = 487454334 bytes
BLAKE2s (boost_1_77_0.tar.bz2) = 11f9651d7078e67a69a97f46dce3131af1f1b3ba5976c26435cd17a66161cbf1
SHA512 (boost_1_77_0.tar.bz2) = 39b45c9b60bc5a2a4c669a4463d1272c1e093376b2fb374d7f20a84ea10a3e23bb04b335a735a83a04575731f874d9bff77e89acd947524b3fbbae1b26ae1f2f
Size (boost_1_77_0.tar.bz2) = 110361537 bytes
SHA1 (patch-CMakeLists.txt) = cead7c68b199bcb6c87a482669d0111bcf0d8de3
Expand All @@ -19,24 +19,24 @@ SHA1 (patch-percona-xtradb-cluster-galera_SConstruct) = f2889f2ba62981e941cba38b
SHA1 (patch-percona-xtradb-cluster-galera_galera_src_replicator__str.cpp) = 6a2d989c35b44a550b1229b1226e44f17c340a3c
SHA1 (patch-percona-xtradb-cluster-galera_galera_src_wsdb.cpp) = 05403339248ec8fe0a80746b41e1065ce6c74228
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio.hpp) = 011f047f3ee85e02c8bc48f157057b163093d7fd
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio__socket__util.hpp) = 5b4f7a27e5b7eb64ff0ed784a6cd0ab6c7fb120a
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio__stream__react.cpp) = f1d9ee2bc5bd85410bcaf083e28f090a09741755
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio__socket__util.hpp) = c35355c2b6562967b7ef155247d0fa384319fed3
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio__stream__react.cpp) = 5a8c9288a49ec34d4edd3923355590f4a0731f95
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__asio__stream__react.hpp) = bd7a3be57c4b173dacf1afee0a9240eb6ab76797
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__byteswap.h) = 83b3b19df7b6c6051d1f247dca2a3da7f0e14a49
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_src_gu__progress.hpp) = ccd1efaf47b8ee9cbe56ee4fbcf23eeef60a8c6a
SHA1 (patch-percona-xtradb-cluster-galera_galerautils_tests_gu__asio__test.cpp) = c2f3c47233c8e92bde64262c9a0c6e9caea47c78
SHA1 (patch-percona-xtradb-cluster-galera_garb_CMakeLists.txt) = 79464e61d223bde8885ae05f8f41a0224bfc72e7
SHA1 (patch-percona-xtradb-cluster-galera_garb_process.cc) = 754b7de455bbfc43da1bfa8e6b74255246a688bd
SHA1 (patch-percona-xtradb-cluster-galera_gcomm_src_asio__tcp.cpp) = 81693a118b990d5974f5d9d6ac83bedc9f7933e1
SHA1 (patch-percona-xtradb-cluster-galera_gcs_src_gcs__gcomm.cpp) = d5be5c95e8e2f8333980b8ce8f74db4cb2ceda62
SHA1 (patch-percona-xtradb-cluster-galera_gcs_src_gcs__gcomm.cpp) = 65c3ae2b79e18c28b4807408969aa0f77543a4cf
SHA1 (patch-plugin_audit__log__filter_audit__keyring.cc) = 3ed7a71877cc3238670614b0cf6898bb366243ff
SHA1 (patch-plugin_audit__log__filter_log__writer_file__handle.cc) = 4ac2a1478abc44a73ade7729c66e17eb21787d7c
SHA1 (patch-plugin_procfs_CMakeLists.txt) = 42dd897872ae65fe334de863298d365dfa545fbb
SHA1 (patch-plugin_x_CMakeLists.txt) = 2c02b377e3d8ccb9e2a1b7896f85367eec8f3461
SHA1 (patch-router_CMakeLists.txt) = a70145c1125976d9068bf0d21ac8cfd1ef1f3a57
SHA1 (patch-router_tests_integration_CMakeLists.txt) = 3e88e36abbfbe4cb253b218e9e0bf245e3919611
SHA1 (patch-scripts_wsrep__sst__common.sh) = 92dbfa52a02cbfb61360a882d04930481b521bcf
SHA1 (patch-scripts_wsrep__sst__xtrabackup-v2.sh) = 3b64dab81a7cde16a86274d9af627a9935a6a959
SHA1 (patch-scripts_wsrep__sst__xtrabackup-v2.sh) = 17aedc0786d869c23c851e2a0eb12ee29e25c04e
SHA1 (patch-sql_binlog__reader.cc) = 5079db7a07137aa3faa08e6ed62aaf0b1749a644
SHA1 (patch-sql_mysqld.cc) = fd3b32b762b19d878260bdb78ede311df2e6ee0b
SHA1 (patch-sql_resourcegroups_platform_thread__attrs__api__solaris.cc) = 10039638c4fff9347f53466118f94466ebf12e5c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Limit tcp_info to Linux and FreeBSD.

--- percona-xtradb-cluster-galera/galerautils/src/gu_asio_socket_util.hpp.orig 2022-04-07 06:34:19.000000000 +0000
--- percona-xtradb-cluster-galera/galerautils/src/gu_asio_socket_util.hpp.orig 2024-11-25 10:01:03.000000000 +0000
+++ percona-xtradb-cluster-galera/galerautils/src/gu_asio_socket_util.hpp
@@ -143,12 +143,12 @@ static void bind(Socket& socket, const g
}
Expand All @@ -18,15 +18,14 @@ Limit tcp_info to Linux and FreeBSD.
#if defined(__linux__)
static int const level(SOL_TCP);
#else /* FreeBSD */
@@ -162,10 +162,9 @@ static struct tcp_info get_tcp_info(Sock
gu_throw_error(err) << "Failed to read TCP info from socket: "
<< strerror(err);
@@ -162,9 +162,9 @@ static struct tcp_info get_tcp_info(Sock
gu_throw_system_error(err) << "Failed to read TCP info from socket: "
<< strerror(err);
}
-#endif /* __linux__ || __FreeBSD__ */
return tcpi;
}
-
+#endif /* __linux__ || __FreeBSD__ */


static inline std::string
uri_string (const std::string& scheme, const std::string& addr,
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

Limit tcp_info to Linux and FreeBSD.

--- percona-xtradb-cluster-galera/galerautils/src/gu_asio_stream_react.cpp.orig 2023-12-04 11:19:57.332137528 +0000
--- percona-xtradb-cluster-galera/galerautils/src/gu_asio_stream_react.cpp.orig 2024-12-11 15:45:47.600751718 +0000
+++ percona-xtradb-cluster-galera/galerautils/src/gu_asio_stream_react.cpp
@@ -307,6 +307,7 @@ catch (const asio::system_error& e)
gu_throw_error(e.code().value()) << "error getting send buffer size";
@@ -356,6 +356,7 @@ catch (const asio::system_error& e)
gu_throw_system_error(e.code().value()) << "error getting send buffer size";
}

+#if defined(__linux__) || defined(__FreeBSD__)
struct tcp_info gu::AsioStreamReact::get_tcp_info() try
{
return ::get_tcp_info(socket_);
@@ -315,6 +316,7 @@ catch (const asio::system_error& e)
@@ -364,6 +365,7 @@ catch (const asio::system_error& e)
{
gu_throw_error(e.code().value()) << "error getting TCP info";
gu_throw_system_error(e.code().value()) << "error getting TCP info";
}
+#endif

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,29 @@
Disable pthread priority scheduling on SunOS, because the current
pthread_setschedparam() approach is not viable on non-global zones.

--- percona-xtradb-cluster-galera/gcs/src/gcs_gcomm.cpp.orig 2022-04-07 06:34:19.000000000 +0000
--- percona-xtradb-cluster-galera/gcs/src/gcs_gcomm.cpp.orig 2024-11-25 10:01:03.000000000 +0000
+++ percona-xtradb-cluster-galera/gcs/src/gcs_gcomm.cpp
@@ -427,9 +427,11 @@ void GCommConn::connect(const string& ch
Barrier& barrier_;
} start_barrier(barrier_);
@@ -465,9 +465,11 @@ void GCommConn::connect(string channel,
gu_throw_system_error(err) << "Failed to create thread";
}

+#if !defined(__sun)
thread_set_schedparam(thd_, schedparam_);
log_info << "gcomm thread scheduling priority set to "
<< thread_get_schedparam(thd_) << " ";
+#endif

uri_.set_option("gmcast.group", channel);
tp_ = Transport::create(*net_, uri_);
@@ -608,6 +610,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
/* Will throw if an exception was thrown in connect_task. */
future.get();
@@ -610,6 +612,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
reinterpret_cast<const byte_t*>(buf) + len)));

int err;
+#if !defined(__sun)
// Set thread scheduling params if gcomm thread runs with
// non-default params
gu::ThreadSchedparam orig_sp;
@@ -623,7 +626,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
@@ -625,7 +628,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
err = e.get_errno();
}
}
Expand All @@ -34,15 +34,15 @@ pthread_setschedparam() approach is not viable on non-global zones.

{
gcomm::Critical<Protonet> crit(conn.get_pnet());
@@ -640,6 +643,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
@@ -642,6 +645,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
}
}

+#if !defined(__sun)
if (conn.schedparam() != gu::ThreadSchedparam::system_default)
{
try
@@ -651,6 +655,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
@@ -653,6 +657,7 @@ static GCS_BACKEND_SEND_FN(gcomm_send)
err = e.get_errno();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ $NetBSD$

Fix paths and port to SunOS.

--- scripts/wsrep_sst_xtrabackup-v2.sh.orig 2023-10-19 10:30:04.000000000 +0000
--- scripts/wsrep_sst_xtrabackup-v2.sh.orig 2024-11-04 14:08:42.000000000 +0000
+++ scripts/wsrep_sst_xtrabackup-v2.sh
@@ -136,12 +136,12 @@ DATA="${WSREP_SST_OPT_DATA}"

Expand All @@ -28,20 +28,23 @@ Fix paths and port to SunOS.

#-------------------------------------------------------------------------------
#
@@ -919,7 +919,11 @@ get_stream()
@@ -919,7 +919,14 @@ get_stream()
get_proc()
{
set +e
- nproc=$(grep -c processor /proc/cpuinfo)
+ if [[ $(uname -s | grep SunOS) ]]; then
+ if [ $(uname -s) = "SunOS" ]; then
+ nproc=$(kstat -p caps::cpucaps_zone*:value | awk '{ printf "%d", ($2+100-1)/100 }')
+ if [ -z "$nproc" ]; then
+ nproc=$(psrinfo | wc -l)
+ fi
+ else
+ nproc=$(grep -c processor /proc/cpuinfo)
+ fi
[[ -z $nproc || $nproc -eq 0 ]] && nproc=1
set -e
}
@@ -964,7 +968,7 @@ cleanup_joiner()
@@ -964,7 +971,7 @@ cleanup_joiner()
fi

# Final cleanup
Expand All @@ -50,7 +53,7 @@ Fix paths and port to SunOS.

# This means no setsid done in mysqld.
# We don't want to kill mysqld here otherwise.
@@ -1003,7 +1007,7 @@ cleanup_donor()
@@ -1003,7 +1010,7 @@ cleanup_donor()
fi

# Final cleanup
Expand All @@ -59,7 +62,7 @@ Fix paths and port to SunOS.

# This means no setsid done in mysqld.
# We don't want to kill mysqld here otherwise.
@@ -1168,7 +1172,7 @@ wait_for_listen()
@@ -1168,7 +1175,7 @@ wait_for_listen()
wsrep_log_debug "$LINENO: Using ss for socat/nc discovery"

# Revert to using ss to check if socat/nc is listening
Expand All @@ -68,7 +71,7 @@ Fix paths and port to SunOS.
if [[ $? -ne 0 ]]; then
wsrep_log_error "******** FATAL ERROR *********************** "
wsrep_log_error "* Could not find 'ss'. Check that it is installed and in the path."
@@ -1178,7 +1182,7 @@ wait_for_listen()
@@ -1178,7 +1185,7 @@ wait_for_listen()

for i in {1..300}
do
Expand All @@ -77,3 +80,14 @@ Fix paths and port to SunOS.
sleep 0.2
done

@@ -1652,7 +1659,9 @@ function initialize_pxb_commands()
xb_version=${xb_version# }
wsrep_log_debug "pxb-version:$xb_version"

- local decompress_threads=$(grep -c ^processor /proc/cpuinfo)
+ get_proc
+
+ local decompress_threads=${nproc}
if [[ $decompress_threads -gt 1 ]]; then
decompress_threads=$((decompress_threads/2))
fi

0 comments on commit d34c5b7

Please sign in to comment.