maria:bb-10.10-MDEV-32374-wlad

Last commit made on 2023-10-17
Get this branch:
git clone -b bb-10.10-MDEV-32374-wlad https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.10-MDEV-32374-wlad
Repository:
lp:maria

Recent commits

3a2262b... by VladislavVaintroub

Innodb cleanup - log_t::append_prepare

- make the function non-static
- pass lsn to it, and do log_write_up_to to wait for this lsn, rather than
  always wait for the current one.

ae9bcf4... by VladislavVaintroub

MDEV-32374 - trying futex-based slim mutex on Intel

According to benchmarks by Intel, that ignore all durability
(innodb_flush_log_at_trx_commit=0 , doublewrite=0 , O_DSYNC)
lsn_lock would be a bottleneck on newer Intel NUMA systems
This result could not be reproduced, here is an attempt is made to blindly
fix it.

The idea is
- to pack protected members of log_t closer to the lock
- on Intel/Linux use slim futex-based mutex (in order to put it into the
  same cache line)
  On Windows, this is not used since WaitOnAddress is more CPU-intensive.
  compared to critical section.
  On ARM/Linux, this is not used, because previously fast mutex-based
  lock gave the best result

05c9943... by midenok

MDEV-31014 Database privileges are insufficient for CONVERT TABLE TO PARTITION

check_access() updates ACL of first TABLE_LIST (t1), but not second
(tp). After it is done we copy t1 ACL to tp.

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

MDEV-32046 Adding ER_NET_READ_ERROR to spider/bugfix.mdev_27240

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

MDEV-22979 MDEV-27233 MDEV-28218 Fixing spider init bugs

Fix spider init bugs (MDEV-22979, MDEV-27233, MDEV-28218) while
preventing regression on old ones (MDEV-30370, MDEV-29904)

Two things are changed:

First, Spider initialisation is made fully synchronous, i.e. it no
longer happens in a background thread. Adapted from the original fix
by nayuta for MDEV-27233. This change itself would cause failure when
spider is initialised early, by plugin-load-add, due to dependency on
Aria and udf function creation, which are fixed in the second and
third parts below. Requires SQL Service, thus porting earlier versions
requires MDEV-27595

Second, if spider is initialised before udf_init(), create udf by
inserting into `mysql.func`, otherwise do it by `CREATE FUNCTION` as
usual. This change may be generalised in MDEV-31401.

Also factor out some clean-up queries from deinit_spider.inc for use
of spider init tests.

A minor caveat is that early spider initialisation will fail if the
server is bootstrapped for the first time, due to missing `mysql`
database which needs to be created by the bootstrap script.

c6ba81d... by Yuchen Pei

MDEV-27095 clean up spd_init_query.h

Removing procedures that were created and dropped during init.

This also fixes a race condition where mtr test with
plugin-load-add=ha_spider.so causes post test check to fail as it
expects the procedures to still be there.

fc2548c... by Yuchen Pei

MDEV-27095 installing one spider plugin should not trigger others

There are several plugins in ha_spider: spider, spider_alloc_mem,
spider_wrapper_protocols, spider_rewrite etc.

INSTALL PLUGIN foo SONAME ha_spider causes all the other ones to be
installed by the init queries where foo is any of the plugins.

This introduces unnecessary complexiy. For example it reads
mysql.plugins to find all other plugins, causing the hack of moving
spider plugin init to a separate thread.

To install all spider related plugins, install soname ha_spider should
be used instead.

This also fixes spurious rows in mysql.plugin when installing say only
the spider plugin with `plugin-load-add=SPIDER=ha_spider.so`:

select * from mysql.plugin;
name dl
spider_alloc_mem ha_spider.so # should not be here
spider_wrapper_protocols ha_spider.so # should not be here

Adapted from part of the reverted commit
c160a115b8b6dcd54bb3daf1a751ee9c68b7ee47.

213b916... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-32291 memory leak in innodb.insert_into_empty test

- This failure happens due to commit bf3b787e02c51928eef6653f8b3edabda08b378a (MDEV-31835). InnoDB fails to apply buffered insert
operation for transaction_registry during commit operation.
To avoid this, ha_commit_trans() should call extra() with
HA_EXTRA_RESET_STATE to apply bulk buffered insert operation.

11c6917... by Sergei Golubchik

fix galera.galera_as_slave_gtid_myisam for 10.10+

0b6de3d... by Sergei Golubchik

avoid "'sh' is not recognized..." error in mtr on windows