maria:bb-10.5-MDEV-31177

Last commit made on 2023-08-28
Get this branch:
git clone -b bb-10.5-MDEV-31177 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-MDEV-31177
Repository:
lp:maria

Recent commits

c735f86... by Brandon Nesterenko

MDEV-31177: Review Round 2

Test change:
- Switched save variables from MTR to user

d8f737e... by Brandon Nesterenko

MDEV-31177: Review Round 1

- Encapsulated debug statements to be within the
  new test addition
- Fixed JIRA TODO fix version to MDEV-21777, as MDEV-29642
  duplicated it

6768c37... by Brandon Nesterenko

MDEV-31177: SHOW SLAVE STATUS Last_SQL_Errno Race Condition on Errored Slave Restart

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:
============
<TODO>

9d75e69... by Brandon Nesterenko

MDEV-31177: Regression

MTR test addition that shows that SHOW SLAVE STATUS can show
an error from the previous session while the SQL thread is
starting

22efe93... by Brandon Nesterenko

MDEV-31177: rpl.rpl_xa_prepare_gtid_fail clean up

- Removed commented out and unused lines.
- Updated test to reference true failure of timeout
  rather than deadlock

aeb8eae... by Marko Mäkelä

Merge 10.4 into 10.5

02878f1... by Marko Mäkelä

MDEV-31813 SET GLOBAL innodb_max_purge_lag_wait hangs if innodb_read_only

innodb_max_purge_lag_wait_update(): Return immediately if we are
in high_level_read_only mode.

srv_wake_purge_thread_if_not_active(): Relax a debug assertion.
If srv_read_only_mode holds, purge_sys.enabled() will not hold
and this function will do nothing.

trx_t::commit_in_memory(): Remove a redundant condition before
invoking srv_wake_purge_thread_if_not_active().

0d88365... by Yuchen Pei <email address hidden>

Merge 10.4 into 10.5

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

MDEV-31117 Fix spider connection info parsing

Spider connection string is a comma-separated parameter definitions,
where each definition is of the form "<param_title> <param_value>",
where <param_value> is quote delimited on both ends, with backslashes
acting as an escaping prefix.

Despite the simple syntax, the existing spider connection string
parser was poorly-written, complex, hard to reason and error-prone,
causing issues like the one described in MDEV-31117. For example it
treated param title the same way as param value when assigning, and
have nonsensical fields like delim_title_len and delim_title.

Thus as part of the bugfix, we clean up the spider comment connection
string parsing, including:

- Factoring out some code from the parsing function
- Simplify the struct `st_spider_param_string_parse`
- And any necessary changes caused by the above changes

f9cc298... by Marko Mäkelä

Merge 10.4 into 10.5