Skip to content

PKG-223 Packaging for release - 8.0.41-32#5564

Merged
inikep merged 234 commits into8.0from
release-8.0.41-32
Feb 27, 2025
Merged

PKG-223 Packaging for release - 8.0.41-32#5564
inikep merged 234 commits into8.0from
release-8.0.41-32

Conversation

@adivinho
Copy link
Copy Markdown
Contributor

No description provided.

bjornmu and others added 30 commits September 18, 2024 10:18
Approved-by: Erlend Dahl <erlend.dahl@oracle.com>
Change-Id: Ic7939ea90bf31cca7dde28319aece74452e72ff6
Approved-by: Erlend Dahl <erlend.dahl@oracle.com>
Change-Id: I0efb0dcebf503985e819dc059d3f3527ff6396a5
Access to /proc/$pid/task/$thread_id/mem is required by stacktrace
code.

Change-Id: I86858d71e3fb5739b16c93e123d35ad0c758caaf
duktape hasn't received any updates since 2.7.0 was released.

Change
======

- remove duktape from extra/
- skip component tests if duktape isn't provided externally

Change-Id: If9b3e993a2bd48c16cf0d7d505cfc4ed1437e23f
Description:
In Persisted_variables_cache::flush_to_file():
There are some places where the return error is not handled properly.

1. Shouldn’t the call to my_rename() also set ret = true on failure?
2. If e.g. the call to mysql_file_fputs() fails, is there any reason to do mysql_file_fflush() etc.? Won’t this just overwrite errno and mask the original error?

Fix:
Handled error cases in case of mysql_file_fputs(), mysql_file_fflush() and my_rename().
Also calling close_persist_file() only in case of open_persist_backup_file() success.

Added debug test case

Change-Id: Ic6580d7882806b4dbdccd69efa781b9b98cd49cd
Approved-by: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Change-Id: Icafe16e05ce408c4a4354b20430687cf6ca16a52
Approved-by: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Change-Id: I25c9139740bc716acef8ebc40baa1da2ec2a9af7
Approved-by: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Change-Id: I5d6536a1a8e967f511431d34ca87b11bdcc83cfb
Approved-by: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Change-Id: I87a0c3efa21f7651ea09635a99284668108e5e08
Change-Id: If8aeb1538857877a811d42d60a2b65efda12057f
Change-Id: I53a30ab617818367c4c4c4c48711d12852136487
…e 16 due to a bad compara

Fixed the comparator to adhere to the C++ standard

Change-Id: I78652a2e13dd814525b131e1ac9b5d9c68dca940
(cherry picked from commit e189888d621c735656a8239c91c980e5804be022)
Silence warnings of the form: ld: warning: ignoring duplicate libraries
Also silence some compiler warnings which are unique to xcodebuild.

Change-Id: Ida5043e3f23b670e20aa388dac4629863426f5ea
(cherry picked from commit b7bb817d7df0e224e9d642b78aab33a04da6dc6f)
Add an INTERFACE library for extra/unordered_dense.

Change-Id: I7871e9c528cedf18a68289cb2fe62c4302a6d83d
(cherry picked from commit 281b36eea3479943358f34bd1aaef731a9b9d1c0)
Remove text that wasn't supposed to be there in the first place.

Change-Id: I5bd4771f25fefdd4581d8636854e0930eabe345f
(cherry picked from commit 0d1164e80cf5d72fbcff4af7500197d5f08d988e)
Remove text that wasn't supposed to be there in the first place.

Change-Id: I5bd4771f25fefdd4581d8636854e0930eabe345f
(cherry picked from commit 0d1164e80cf5d72fbcff4af7500197d5f08d988e)
(cherry picked from commit ce527f4cd6a573ddfe1ac054b875aee8806c0356)
The build of 8.0 is broken on e.g. Fedora 40 if using cmake-3.11
The problem is that PKG_CHECK_MODULES, which is defined in
Modules/FindPkgConfig.cmake fails to set pkgcfg_lib_TIRPC_tirpc

This is not a problem on el6, where we actually *have* to use cmake-3.11
since it has no TIRPC package. It is a problem only when
explicitly using an old cmake version on a modern Linux version.

Being able to use an old cmake version is important, to ensure we do
not introduce new, unimplemented, cmake features in our codebase.

The fix: use pkgcfg_lib_TIRPC_tirpc if found, otherwise use -ltirpc.

Change-Id: Ibb92d451d8caed0ff87004cc1dde364577187639
Post push fix for the push in mysql-5.7 branch.
Fixes the broken windows build on mysql-5.7 pb2.

Approved by: Georgi Kodinov <georgi.kodinov@oracle.com>
produced by my_print_stacktrace [backport]

- Add library backtrace in extra/libbacktrace/sha9ae4f4a. Approved as
  LIC#99705/BID#154396.
- Implement stacktrace::{full, simple, pcinfo, syminfo} to encapsulate
  the backtrace state needed for calling the corresponding backtrace_*
  functions - this state needs to be created once in the lifetime of the
  process. The stacktrace namespace is in <backtrace/stacktrace.hpp>.
- Add a convenience library backtrace and the alias ext::backtrace.
- Add the CMake option WITH_EXT_BACKTRACE to control if the library will
  be used, in which case HAVE_EXT_BACKTRACE is defined.
- If HAVE_EXT_BACKTRACE is defined, use <backtrace/stacktrace.hpp> in
  my_print_stacktrace.

Change-Id: I8e0c5fa30b2dd986d42e008b26d9fd1195871177
left shift of 251 by 24 places cannot be
represented in type 'int' [backport]

Issue:
libbacktrace:elf.c invokes undefined behavior because uint8_t is coerced
to int before left shift.

Fix:
Cast to the target type before shifting.

Change-Id: Id0d6949d6285a933bf502306b32ea4825f15456b
-DWITH_EXT_BACKTRACE [backport]

cmake -DWITH_EXT_BACKTRACE=1 makes

  routertest_component_router_stacktrace

fail to find "my_print_stacktrace" in console output as it changes the
way the backtrace is generated.

Change
======

- If HAVE_EXT_BACKTRACE is defined, match a different line to ensure the
  backtrace is generated.

Change-Id: I9bb553560223b3582ae01cb1338230e142089f5d
Change-Id: I5bd4771f25fefdd4581d8636854e0930eabe345f
Backport of: Skip some clone tests when binlog is turned off. Required after the
push of BUG#34828542: P_S.clone_status.gtid_executed does not have enough column
size to 8.0

Change-Id: Ibdf967f6eeb26432c7e01cbe013f00b786809b0a
DASH IN HINT COMMENT

Problem:
Server do not allow using '#' and '-- ' inside hint comment if preserve
comments is turned off.

Fix:
Allow using '#' and '-- ' inside hint comment irrespective of preserve
comments status because that is what is documented.

Change-Id: I976f98e2954d9bc7f007b4acd6627726416b72ba
Change-Id: I151cdb168bc86f55d6e042b11fcf6bc9eb014ef1
In the current garbage_collection_internal logic, for each key
"is_subset_not_equals" will be called, this is not required as a
Gtid_set_ref value may contains many keys, just once is required.

Change-Id: I5c8ff8bd0f8e40e4a3588c1b04d7e8b8fafa9732
Tor Didriksen and others added 25 commits December 13, 2024 13:00
Delete old source files.

Change-Id: I2a45adae9fae4cfe1083547df86f20b57af19caa
(cherry picked from commit d9459f52ef29ac9bb13b3338761ec925f87fa1e9)
(cherry picked from commit 468bc70dc4ea34d31748bdacd36077cafd2be533)
Disable the BUILD_EXAMPLES option (which is shared with many other 3rd party libs)
Disable CURL_USE_LIBPSL
Add CURL_DISABLE_DEPRECATION for clang on win.

Change-Id: I9b4994d45b17b278dd91833cbbb8e3d6f264dda3
(cherry picked from commit f660631664d35fbfd15556647770403fb7299f16)
(cherry picked from commit a917cc2b0db451af31de01323df733abd98f5a5d)
Problem:

A NDB table, with a SQL TINYBLOB column configured with the
BLOB_INLINE_SIZE NDB column option, would (silently) default to the
hardcoded 256 byte value whichever the new size provided. Therefore,
it would not only mislead the user but also not provide the
configurability of BLOB inline size.

Analysis:

On creation of the NDB column from the NDB cluster plugin, the
TINYBLOB case would never read the BLOB_INLINE_SIZE option, therefore
setting the 256 default value. MySQL server already gives the 255 byte
value to be the maximum for a TINYBLOB, thus no over the maximum
writes would be available. However, the BLOB_INLINE_SIZE option also
allows the maximum stored value to be less so that more columns can be
fitted into each row (max of 30k bytes for NDB rows).

Solution:

Do not support BLOB_INLINE_SIZE on SQL TINYBLOB columns
altogether. The reasons are many:
1) TINYBLOB is internally limited to 255
bytes on MySQL server field side (1 byte of packlength)
2) Same behavior can be achieved with VARBINARY with less hassle
3) Gets no benefit on the properties of NDB, such as having
distributed parts of rows partitioned across the cluster.

NDB plugin code now pushes a warning saying it is defaulting to base 256 bytes.

Change-Id: Iab6a3009e5f5e407ef3bef18caf31ed6ed2810a3
Approved by: Erlend Dahl <erlend.dahl@oracle.com>
Approved by: Erlend Dahl <erlend.dahl@oracle.com>
…ted column crashes in innobase_get_computed_value"

This reverts commit 595623e.
…uplicate key" error on the primary key (only index)."

This reverts commit f9aeac3.
…LACE ALTER under same workload as PS-9092"

This reverts commit 4614f68.
…rted with --daemonize

Problem:
When pool-of-threads is enabled, a timer_thread should be created. However, if the process starts with --daemonize, the thread is missing.
This occurs because during the execution of mysqld_daemonize(), the mysqld process forks, creating a child process that runs as a daemon.
Since threads are not copied during a fork, and timer_thread is not reinitialized in the daemon process, it is lost.

Solution:
Move the timer_thread initialization to execute after the mysqld_daemonize() function.
PS-9614 Pool-of-Threads' timer thread fails to start if mysqld is sta…
… opt_trace.general_ps_prot_all

The same MTR tests fail with MySQL 8.0.41.
Oracle forgot to rewrite these tests.
…while server shutdown (#5549)

https://perconadev.atlassian.net/browse/PS-9611

Changed max value of the
'masking_functions.dictionaries_flush_interval_seconds' variable: instead of
'ULLONG_MAX' we now limit it to 60 * 60 * 24 * 365 seconds = 31 536 000
seconds (1 year).

Improved 'is_terminated_lambda' in the 'dictionary_flusher_thread' - we now
also check for additional server termination conditions.

Improved how 'dictionary_flusher_thread' reloads cache - before executing
dictionary table SELECT, we now always reset diagnostic area in THD
object to an empty state.

Added new 'enable_masking_functions_flush_thread_turbo_mode' DBUG
option which helps to simulate continuous (without delays) cache reload.

Added new 'component_masking_functions.flusher_thread_da_cleanup'
MTR test case which simulates the scenario reported in the bug description.

Added new checks to the
'component_masking_functions.sys_var_dictionaries_flush_interval_seconds_basic'
MTR test case - we now check for min and max values of the
'dictionaries_flush_interval_seconds' variable.
PKG-223 Packaging for release - 8.0.41-32
PKG-223 Packaging for release - 8.0.41-32
Access to /proc/$pid/task/$thread_id/mem is required by stacktrace code.

We apply the same changes as upstream did at
mysql/mysql-server@b76c48b031d
@zhry110
Copy link
Copy Markdown

zhry110 commented Feb 27, 2025

Hello, Our team noticed that you reverted the changes of PS-9144 and synchronized the patch fixed by the MySQL community. However, we discovered earlier that the fix from the official MySQL introduced new issues, and this problem has not been fully resolved. You can refer to BUG https://bugs.mysql.com/bug.php?id=117436. Additionally, the fix for PS-9144 is complete.

@inikep inikep merged commit 815afe0 into 8.0 Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.