mariadb/mysql-test/suite/galera
Julius Goryavsky 807a71b443 MDEV-29909: SST fails when transferred data is larger than datadir space
This change adds new options for controlling the SST using
the mariabackup method, which in many cases will allow much
more effective management of the free space used during
the SST process.

Two new options have been added, which can be used in the
configuration file by placing them in the [sst] section:

1) The 'sstdir' option sets the path to the temporary directory
where the received files will be placed during the state
transfer process in SST using mariabackup. Before this
change, files were always written to a special directory
<datadir>/.sst, which created a problem if the storage
where datadir resides was close to full. Now, however,
it is possible to specify an arbitrary directory where
the system will place the files received during SST.

Attention! The directory specified with sstdir will be
deleted during the SST process – therefore, it cannot
be the datadir itself or any important user directory
containing valuable files! It must be a working temporary
directory that will be automatically removed by the system
at the end of SST.

The user can also set the special value sstdir='mktemp'.
In this case, the system will automatically create a working
directory for SST using the mktemp utility (possibly using
the tmpdir directory if it is specified in the configuration
file). This directory will be deleted after the SST is completed.

2) The 'cleaning' option allows controlling the timing of the
deletion of the current system state when SST is required.
Currently, as well as by default after this change, the
current state is deleted in parallel with the transfer of new
data during SST. This is optimal in terms of performance but
may cause problems if the storage where datadir resides has
little free space and the same storage is used for receiving
files – because the old files are not deleted immediately,
but only after some time.

If the user is interested in deleting the current state before
the start of SST, which allows freeing up space on the datadir
storage, they can now set the option cleaning='before', and the
current state will be deleted before SST starts. This may be
slower in terms of performance but frees up space, which can
be critical in some user scenarios.

On the other hand, the user can specify cleaning='after' –
in this case, the current state will be deleted only after
the successful completion of data transfer during SST. This
reduces performance and requires more free space but guarantees
that the current state will not be deleted on the node before
the successful completion of data transfer – which can critically
increase reliability in user scenarios where loss of state on
nodes due to a chain of failures during SST transfer creates
a risk of cluster degradation.

If the user specifies cleaning='parallel' or does not set any
value for this option, the system will operate as before –
deleting the current state in parallel with receiving new data.
This maximizes performance but requires large amounts of free
space in the location specified by sstdir and may result in
the loss of node state if data transfer during SST fails.
2025-09-10 19:12:02 +02:00
..
include Merge branch '10.5' into '10.6' 2025-04-02 04:43:24 +02:00
r MDEV-29909: SST fails when transferred data is larger than datadir space 2025-09-10 19:12:02 +02:00
t MDEV-29909: SST fails when transferred data is larger than datadir space 2025-09-10 19:12:02 +02:00
disabled.def MDEV-37257: unstable tests temporarily added to 'disabled' list 2025-07-17 15:42:59 +02:00
galera_2nodes.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
galera_2nodes_as_master.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
galera_2nodes_as_replica_2primary.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
galera_2nodes_as_slave.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
galera_2x2nodes.cnf MDEV-33523 Spurious deadlock error when wsrep_on=OFF 2024-06-06 19:19:34 +02:00
galera_3nodes_as_slave.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
galera_4nodes.cnf galera mtr tests: unification of wsrep provider settings 2025-02-12 13:37:03 +01:00
my.cnf
suite.pm galera mtr tests: synchronization between versions 2025-02-26 18:19:28 +01:00