maria:bb-10.4-MDEV-29369

Last commit made on 2024-01-25
Get this branch:
git clone -b bb-10.4-MDEV-29369 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-MDEV-29369
Repository:
lp:maria

Recent commits

19b38ba... by Brandon Nesterenko

MDEV-29369: Switch to stop_slave_io

Instead of waiting for an inevitable IO thread error,
pre-empt the error and stop the IO thread immediately

6af21ef... by Brandon Nesterenko

MDEV-29369: Review round 1

 * Added comment to explain why we wait for the IO thread
   to error, rather than `stop_slave.inc`
 * Use --disable_query_log and MTR variables for restoring
   default values post-restart
 * Clean up outdated comments

36ad8a2... by Brandon Nesterenko

MDEV-29369: rpl.rpl_semi_sync_shutdown_await_ack fails regularly with Result content mismatch

This test was prone to failures for a few reasons, summarized below:

 1) MDEV-32168 introduced “only_running_threads=1” to
slave_stop.inc, which allowed the stop logic to bypass an
attempting-to-reconnect IO thread. That is, the IO thread could
realize the master shutdown in `read_event()`, and thereby call into
`try_to_reconnect()`. This would leave the IO thread up when the
test expected it to be stopped. The fix for this is two-part. First,
rather than stop the io thread, wait for it to realize the master
shutdown so it can turn itself off automatically. Second, change the
test configuration `master_retry_count` to 2 (default 10000) so it
waits a reasonable amount of time.

 2) On slow systems (or those running profiling tools, e.g. MSAN),
the waiting-for-ack transaction can complete before the system
processes the `SHUTDOWN WAIT FOR ALL SLAVES`. There was shutdown
preparation logic in-between the transaction and shutdown itself,
which contributes to this problem. This patch also moves this
preparation logic before the transaction, so there is less to do
in-between the calls.

 3) Changed work-around for MDEV-28141 to use debug_sync instead
of sleep delay, as it was still possible to hit the bug on very
slow systems.

Also adjusted for MDEV-32031 fix to change MTR restoration variables
to user variables

Reviewed By:
============
<TODO>

1070575... by Yuchen Pei <email address hidden>

MDEV-33191 spider: fix dbton_id when iterating over links

There are two array fields in spider_share with similar names:

share->use_sql_dbton_ids that maps from i to the i-th dbton used by
share. Thus it should be used only when i iterates over all distinct
dbtons used by share.

share->sql_dbton_ids that maps from i to the dbton used by the i-th
link of the share. Thus it should be used only when i iterates over
all links of a share.

We correct instances where share->sql_dbton_ids should be used instead
of share->use_sql_dbton_ids.

f738cc9... by Alexander Barkov

MDEV-29095 REGEXP_REPLACE treats empty strings different than REPLACE in ORACLE mode

Turning REGEXP_REPLACE into two schema-qualified functions:
- mariadb_schema.regexp_replace()
- oracle_schema.regexp_replace()

Fixing oracle_schema.regexp_replace(subj,pattern,replacement) to treat
NULL in "replacement" as an empty string.

Adding new classes implementing oracle_schema.regexp_replace():
- Item_func_regexp_replace_oracle
- Create_func_regexp_replace_oracle

Adding helper methods:
- String *Item::val_str_null_to_empty(String *to)
- String *Item::val_str_null_to_empty(String *to, bool null_to_empty)

and reusing these methods in both Item_func_replace and
Item_func_regexp_replace.

3699a7e... by Daniel Black

macos: Fix CMAKE_OSX_ARCHITECTURES when not set

When CMAKE_OSX_ARCHITECTURES isn't set we end up with
"Packaging as: mariadb-10.4.33-osx10.19-x86_64" on arm64 builders.

Instead of implying 64bit is x86, use CMAKE_SYSTEM_PROCESSOR to form
the filename.

7c2f082... by Vicențiu Ciorbaru

Improve READLINE_V5 detection

More in depth check to cover all used readline functions.

27459b4... by Vicențiu Ciorbaru

MDEV-14448: Ctrl-C should not exit client

Undo any Windows behaviour changes.

15bd7e0... by Oleksandr "Sanja" Byelkin

"New" version of CC (in fact no changes)

a9172b8... by Oleksandr "Sanja" Byelkin

Update minizip files for connect enginbe from last zlib 1.3.