maria:bb-10.5-MDEV-18863

Last commit made on 2019-06-13
Get this branch:
git clone -b bb-10.5-MDEV-18863 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-10.5-MDEV-18863
Repository:
lp:maria

Recent commits

f9df3a3... by Julius Goryavsky <email address hidden>

MDEV-18863: Galera SST scripts can't read [mysqldN] option groups

Some users and some scripts (for example, mysqld_multi.sh) use special
option groups with names like [mysqld1], [mysqld2], ..., [mysqldN].

But SST scripts can't currently fully support these option groups.
The only option group-related value it gets from the server is
--defaults-group-suffix from the server, if that option was set
for mysqld when the server was started.

However, the SST script does not get told by the server to read
these option groups, so this means that the SST script will fail to
read options like innodb-data-home-dir when it is in a option group
like [mysqld1]...[mysqldN].

Moreover, SST scripts ignore many parameters that can be passed
to them explicitly and cannot transfer them further, for example,
to the input of mariabackup utility. Ideally, we want to transfer
all the parameters of the original mysqld call to utilities such
as mariabackup, however the SST script does not receive these
parameters and therefore cannot transfer them to mariabackup.

To correct these shortcomings, we need to add a transfer to the
script of all the parameters of the original mysqld call, and in
the SST scripts themselves provide for the transfer of these
parameters to utilities such as mariabackup. To prevent these
parameters from mixing with the script's own parameters, they
should be transferred to SST script after the special option
"--mysqld-args", followed by the line of the original parameters,
as received by mysqld call at the time of launch (further all
these parameters will be passed to mariabackup, for example).

In addition, the SST scripts themselves must be refined so that
they can read the parameters from the user-selected group, not just
from the global mysqld configuration group. And also so that they
can receive the parameters (which important for their work) as
command-line arguments.

e68d3e4... by Eugene

test commit

177a571... by Marko Mäkelä

MDEV-19586 Replace recv_sys_t::addr_hash with a std::map

InnoDB crash recovery buffers redo log records in a hash table.
The function recv_read_in_area() would pick a random hash bucket
and then try to submit read requests for a few nearby pages.
Let us replace the recv_sys.addr_hash with a std::map, which will
automatically be iterated in sorted order.

recv_sys_t::pages: Replaces recv_sys_t::addr_hash, recv_sys_t::n_addrs.

recv_sys_t::recs: Replaces most of recv_addr_t.

recv_t: Encapsulate a raw singly-linked list of records. This reduces
overhead compared to std::forward_list. Storage and cache overhead,
because the next-element pointer also points to the data payload.
Processing overhead, because recv_sys_t::recs_t::last will point to
the last record, so that recv_sys_t::add() can append straight to the
end of the list.

RECV_PROCESSED, RECV_DISCARDED: Remove. When a page is fully processed,
it will be deleted from recv_sys.pages.

recv_sys_t::trim(): Replaces recv_addr_trim().

recv_sys_t::add(): Use page_id_t for identifying pages.

recv_fold(), recv_hash(), recv_get_fil_addr_struct(): Remove.

recv_read_in_area(): Simplify the iteration.

992d249... by Marko Mäkelä

Define page_id_t in buf0types.h

f42bda6... by Alexander Barkov

MDEV-19727 Add Type_handler::Key_part_spec_init_ft

1636656... by Alexander Barkov

MDEV-19724 Add Field::tmp_engine_column_type()

b685109... by Alexander Barkov

MDEV-19710 Split the server side code in rpl_utility.cc into virtual methods in Type_handler

9d6d37b... by Alexander Barkov

Cleanup: adding "const" qualifiers to methods in Field

- Field::compatible_field_size(), and its "Relay_log_info *rli" argument
- Field::pack_length_from_metadata

bf70430... by Robert Bindar

MDEV-17709 Remove handlerton::state

ab19019... by Alexander Barkov

MDEV-19686 Add method Type_handler::dyncol_type