maria:bb-10.6-stack-galera

Last commit made on 2024-04-26
Get this branch:
git clone -b bb-10.6-stack-galera https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.6-stack-galera
Repository:
lp:maria

Recent commits

ef7a234... by Daniele Sciascia <email address hidden>

Fixup 0ccdf54b644352f42e1768bc660be7ab50c1e9d

0ccdf54 removed stack allocated THD objects from functions
Wsrep_schema::replay_transaction(). However, it inadvertedly
anticipated the destruction of the THD, causing assertions and usage
of THD after it was destroyed.
The fix consists in extracting the original function into a separate
function, and leave the allocation and destruction of the THD object
in Wsrep_schema::replay_transaction(), making sure that using the heap
allocated THD has no side effects.
Same for Wsrep_schema::recover_sr_transactions().

Signed-off-by: Julius Goryavsky <email address hidden>

0936c13... by Marko Mäkelä

MDEV-33993 Possible server hang on DROP INDEX or RENAME INDEX

commit_try_norebuild(): Add the parameter statistics_exist,
similar to commit_try_rebuild(). If the InnoDB statistics tables
did not exist, we will not attempt to update statistics later on
during the transaction.

Thanks to Matthias Leich for originally reproducing this scenario.

8c8b7da... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-33979 Disallow bulk insert operation during partition update statement

Problem:
========
- Partition update operation enables the bulk insert for the
transaction while moving the row between partitions. This leads
to debug assert failure while removing the row from one
of the partition.

Solution:
========
- Disallow the bulk insert operation for non-insert operation
of partition table.

0ccdf54... by Monty <email address hidden>

Check and remove high stack usage

I checked all stack overflow potential problems found with
gcc -Wstack-usage=16384
and
clang -Wframe-larger-than=16384 -no-inline

Fixes:
Added '#pragma clang diagnostic ignored "-Wframe-larger-than="'
  to a lot of function to where stack usage large but resonable.
- Added stack check warnings to BUILD scrips when using clang and debug.

Function changed to use malloc instead allocating things on stack:
- read_bootstrap_query() now allocates line_buffer (20000 bytes) with
  malloc() instead of using stack. This has a small performance impact
  but this is not releant for bootstrap.
- mroonga grn_select() used 65856 bytes on stack. Changed it to use
  malloc().
- Wsrep_schema::replay_transaction() and
  Wsrep_schema::recover_sr_transactions().
- Connect zipOpen3()

Not fixed:
- mroonga/vendor/groonga/lib/expr.c grn_proc_call() uses
  43712 byte on stack. However this is not easy to fix as the stack
  used is caused by a lot of code generated by defines.
- Most changes in mroonga/groonga where only adding of pragmas to disable
  stack warnings.
- rocksdb/options/options_helper.cc uses 20288 of stack space.
  (no reason to fix except to get rid of the compiler warning)
- Causes using alloca() where the allocation size is resonable.
- An issue in libmariadb (reported to connectors).

07faba0... by Marko Mäkelä

MDEV-27924 fixup: cmake -DWITH_INNODB_EXTRA_DEBUG=ON

fbfb5a6... by =?utf-8?q?Jan_Lindstr=C3=B6m?= <email address hidden>

MDEV-33928 : Assertion failure on wsrep_thd_is_aborting

Problem was assertion assuming we always hold
THD::LOCK_thd_data mutex that is not true.
In most cases this is true but function is
also used from InnoDB lock manager and
there we can't take THD::LOCK_thd_data to
obey mutex ordering. Removed assertion as
wsrep transaction state can't change even
that case.

Signed-off-by: Julius Goryavsky <email address hidden>

466bc8f... by Sergei Golubchik

fix failing large_tests.maria_recover_encrypted

update results

e83d92e... by Sergei Golubchik

sporadic failures of rpl.rpl_semi_sync_fail_over

in the $case=2 - it's wrong to kill after the first binlog EOF,
because that might happen between INSERT(4) and INSERT(5).

So, wait for the slave to acknowledge INSERT(5) before killing
the master, that is, both connection threads must pass
repl_semisync_master.wait_after_sync()

6242783... by Sergei Golubchik

rpl.rpl_semi_sync_fail_over improve debugability

1437e73... by Sergei Golubchik

adjust timeout value in main.ssl_timeout test

fixes sporadic failures under --valgrind