This feature adds the support for rr in mtr. These 2 options are added
--rr run the mysqld in rr record mode
--rr_option= run the rr with custom record option, for multiple options use --rr_option= for each option.
For example
./mtr main.view --rr_option=-h --rr_option=-u --rr_option=-c=23
--boot-rr run the mysqld performing bootstrap in rr record mode
Recording are stored in mysql-test/var/rr folder.
To run recording please run
rr replay var/rr/mysql-X
Limitations
Restart will create a new recording.
Repeat will work on same recording , So might be harder to debug.
If test create the multiple instance of mariadb all will be stored in var/rr
Desc:- This will split Alter into 2 different commits. START ALTER and COMMIT
/ROLLBACK ALTER , Start Alter will be written in binlog as soon as we get the
locks for the table, alter will proceeds as usual and at the time of writing
binlog if alter is successful we will write COMMIT Alter other wise ROLLBACK
Alter.
Usage:- Using this feature is quite simple.
1. On master you have to turn on `BINLOG_SPLIT_ALTER` dynamic variable.
2. Slave must be using parallel replication.
So alter is divided like this.
1. ALTER TABLE ... EXECUTE = UNTIL COMMIT thread_id (Internally called Start Alter)
(Query_log_event with FL_START_ALTER_E1 flag)
2. ALTER TABLE ... EXECUTE = COMMIT thread_id / (Internally called Commit Alter)
(Query_log_event with FL_COMMIT_ALTER_E1 flag)
2. ALTER TABLE ... EXECUTE = ROLLBACK thread_id (Internally called Rollback Alter)
(Query_log_event with FL_ROLLBACK_ALTER_E1 flag)
identifier is thread_id.
@@global.binlog_split_alter :- new global/session variable on the master to allow
splitting of alter in binlog.
Advanced Usage:- User can issue Alter with EXECUTE=UNTIL COMMIT/COMMIT/ROLLBACK
But this is not recommended , this can cause deadlock on slave.
Manually issued split alter commands are treated differently then on Slave,
UNTIL COMMIT will only binary log the command ,and no other action is performed
COMMIT will run the alter same was as if it is normal alter(with EXECUTE=COMMIT
in binlog)
ROLLBACK will just binary log and will not do anything.
dict_table_t::init_instant(): Remove bool replace_dropped=true.
The template parameter was unnecessarily added in
commit a044e326a833297c97d688673b00f71a10182f25.
Patch `36a2a185fe18` introduced `wsrep_server_incoming_address()` in `10.4`.
Since AIX `/usr/include/netinet/ip.h` header defines `ip_len` as `ip_ff.ip_flen`
and `size_t const ip_len` is preprocessed as `size_t const ip_ff.ip_vhltl.ip_x.ip_xlen`,
to prevent the define from overwriting code in MariaDB,
rename the variable name to `ip_len_mdb`.
This patch is done by Tony Reix <email address hidden>.
This patch was submitted under MCA.
Closes #1307