maria:10.5-olter-v4

Last commit made on 2020-06-29
Get this branch:
git clone -b 10.5-olter-v4 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
10.5-olter-v4
Repository:
lp:maria

Recent commits

821f759... by sachin

MDEV-22985 Assertion `!(thd->rgi_slave && thd->rgi_slave->did_mark_start_commit)' failed in ha_rollback_trans

Partial fix

3572a6d... by Sachin Setiya

MDEV-22179 rr(record and replay) support for mtr

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

beaadc4... by sachin

Fix mysql_alter_table part 1
and fix previous patch

c003b36... by sachin

MDEV-22777 Assertion `thd->rgi_slave' failed in process_commit_alter / process_rollback_alte

148a4e3... by Sachin Setiya

MENT-662 Lag Free Alter On Slave

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.

55cf741... by Marko Mäkelä

Cleanup: Remove a constant template parameter

dict_table_t::init_instant(): Remove bool replace_dropped=true.
The template parameter was unnecessarily added in
commit a044e326a833297c97d688673b00f71a10182f25.

a5b8494... by Jan Lindström

Disable failing Galera test cases.

784db38... by Tony Reix

MDEV-19510 Issue with: sql/wsrep_mysqld.cc : ip_len

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

51a4260... by Marko Mäkelä

MDEV-21133: Introduce memmove_aligned()

Both variants of the InnoDB page directory are aligned to the entry size
(16 bits). Inform the compiler about it.

0f71e9e... by Marko Mäkelä

Merge 10.4 into 10.5