maria:bb-10.4-MDEV-29775-galera

Last commit made on 2023-09-12
Get this branch:
git clone -b bb-10.4-MDEV-29775-galera https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.4-MDEV-29775-galera
Repository:
lp:maria

Recent commits

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

MDEV-29775 : Assertion `0' failed in void Protocol::end_statement() when adding data to the MyISAM table after setting wsrep_mode=replicate_myisam

Firstly, variables wsrep_forced_binlog_format, wsrep_replicate_myisam
should not be able to set if wsrep_on=OFF.

Secondly, if wsrep_replicate_myisam=ON we allow wsrep_forced_binlog_format
to be [DEFAULT|ROW].

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

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

MDEV-25731 : Assertion `mode_ == m_local' failed in void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)

Problem was that if wsrep_load_data_splitting was used
streaming replication (SR) parameters were set
for MyISAM table. Galera does not currently support SR for
MyISAM.

Fix is to ignore wsrep_load_data_splitting setting (with
warning) if table is not InnoDB table.

This fix applies to 10.4-10.5.

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

1adfdfb... by Julius Goryavsky <email address hidden>

galera: wsrep-lib sumbodule update

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

MDEV-32051 Failed to insert streaming client

- Deterministic test to reproduce the warning
- Update wsrep-lib to fix the issue

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

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

MDEV-31988 : galera_partition test: assertion due to unallowed state transition

Test case is starting too many servers that are not really
needed for original problem testing. This fix reduces
number of servers to make test case smaller and more
robust.

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

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

MDEV-29861 : Galera "notify" test cases hang

Problem was that if wsrep_notify_cmd was set it was called
with a new status "joined" it tries to connect to the server
to update some table, but the server isn't initialized yet,
it's not listening for connections. So the server waits for the
script to finish, script waits for mariadb client to connect,
and the client cannot connect, because the server isn't listening.

Fix is to call script only when Galera has already formed a
view or when it is synched or donor.

This fix also enables following test cases:
* galera.MW-284
* galera.galera_binlog_checksum
* galera_var_notify_ssl_ipv6

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

d890aca... by Sergei Golubchik

"un-skip" more skipped tests

* version_compile_os can be "linux-systemd", not equal to "Linux"
* main.no-threads forces no-threads scheduler, a check whether it
  has one_thread_per_connection is guaranteed to fail.

65c9920... by Marko Mäkelä

MDEV-23841: Memory leak in innodb_monitor_validate()

innodb_monitor_validate(): Let item_val_str() allocate the memory
in THD, so that it will be available to innodb_monitor_update().
In this way, there is no need to allocate another buffer, and
no problem if the call to innodb_monitor_update() is skipped due
to an invalid value that is passed to another configuration parameter.

There are some other callers to st_mysql_sys_var::val_str()
that validate configuration parameters that are related to FULLTEXT INDEX,
but they will allocate memory by invoking thd_strmake().

5299f0c... by Marko Mäkelä

MDEV-21664 Add opt files for have_innodb_Xk.inc

Currently include/have_innodb_4k.inc etc. files only check that the
server is running with the corresponding page size. I think it would
be more convenient if they actually enforced the setting.

d4fd4ae... by Marko Mäkelä

MDEV-21679 innodb_zip.index_large_prefix_4k fails with ER_TOO_BIG_ROWSIZE

The test innodb_zip.index_large_prefix_4k would not run unless it is
invoked as
./mtr --mysqld=--innodb-page-size=4k innodb_zip.index_large_prefix_4k

This test was originally developed to cover an option that was removed
in commit 0c92794db3026cda03218caf4918b996baab6ba6. Starting with
MariaDB Server 10.2, which introduced innodb_default_row_format=dynamic,
the option innodb_large_prefix had become useless.

Let us remove some of the stale tests and adjust the outcome to the
expected behaviour.