maria:bb-11.0-mdev-31400

Last commit made on 2023-07-25
Get this branch:
git clone -b bb-11.0-mdev-31400 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-11.0-mdev-31400
Repository:
lp:maria

Recent commits

42f8be1... by Yuchen Pei

MDEV-31400 Simple plugin dependency resolution

We introduce simple plugin dependency. A plugin init function may
return HA_ERR_RETRY_INIT. If this happens during server startup when
the server is trying to initialise all plugins, the failed plugins
will be retried, until no more plugins succeed in initialisation or
want to be retried.

This will fix spider init bugs which is caused in part by its
dependency on Aria for initialisation.

The reason we need a new return code, instead of treating every
failure as a request for retry, is that it may be impossible to clean
up after a failed plugin initialisation. Take InnoDB for example, it
has a global variable `buf_page_cleaner_is_active`, which may not
satisfy an assertion during a second initialisation try, probably
because InnoDB does not expect the initialisation to be called
twice.

60ad8b1... by Kristian Nielsen

Fix occasional failure in test spider/bugfix.mdev_31463

Signed-off-by: Kristian Nielsen <email address hidden>

51a85e7... by Tuukka Pasanen <email address hidden>

MDEV-30843: Add Extended descriptions to compat packages

Currently Debian package: mariadb-client-compat and
mariadb-server-compat are missing Extended description
which leads to Lintian error:
 * extended-description-is-empty

Commit orders Description to same as rest of
the Debian control file does.

Commit also fix Debian Lintian error:
 * obsolete-relation-form-in-source

b6e7b6b... by Andrew Hutchings

Add preprocessor whitespace to CODING_STANDARDS.md

313c5a1... by Marko Mäkelä

MDEV-31443 [FATAL] InnoDB: Unable to find charset-collation in ibuf_upgrade()

dtype_new_read_for_order_and_null_size(): Correctly assign type->prtype.
This caused the fatal error and crash.

ibuf_merge(): Relax a too strict condition that would result in
[ERROR] InnoDB: Unable to upgrade the change buffer
when there exist buffered changes to redundant secondary indexes, such as
PRIMARY KEY(x), INDEX(x).

ibuf_upgrade(): Modify at most one user tablespace per mini-transaction,
to be crash-safe.

page_cur_insert_rec_zip(), page_cur_delete_rec(): Relax debug assertions
for ibuf_upgrade().

ibuf_log_rebuild_if_needed(): Invoke recv_sys.debug_free() only after
srv_log_rebuild_if_needed() to avoid an assertion failure. This code
is executed when the innodb_log_file_size is changed when upgrading
from 10.x to 11.0.

Tested by: Matthias Leich, Christian Hesse

a906046... by Marko Mäkelä

Merge 10.11 into 11.0

3430767... by Marko Mäkelä

Merge 10.10 into 10.11

c2d5523... by Marko Mäkelä

Merge 10.9 into 10.10

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

MDEV-31463 [fixup] Spider: error code in mdev_31463.test

The error code is non-deterministic, presumably due to some race
condition from the SLEEP statement above. The correct error should be
12701 ER_SPIDER_REMOTE_SERVER_GONE_AWAY_NUM as it is the last failure.
Nevertheless, this contrived test is needed to cover the error
reporting when setting lock wait timeout, until we find a better test
case and/or fixing the non-deterministic error reporting (MDEV-31586)

35de832... by Marko Mäkelä

MDEV-31311: The test innodb.log_file_size_online occasionally hangs

log_t::write_checkpoint(), log_t::resize_start(): Invoke buf_flush_ahead()
with buf_pool.get_oldest_modification(0)+1 so that another checkpoint will
be invoked, to complete the log resizing.

Tested by: Oleg Smirnov (on Microsoft Windows, where this hung most often)