A call to strcpy was made in blr_file_create where the function was given
the same pointer as both parameters. To avoid this, the file name is now
copied to a local variable before the router variables are modified.
The EVP_CIPHER_CTX is now created inside a wrapper function to add support
for OpenSSL 1.1. Also fixed improper use of the EVP_CIPHER_CTX internals
in binlogrouter.
MXS-1266:
blr_slave_gtid_request() the file in slave registration request is
checked whether it exists or not and GTID file info could e set instead.
Also addded:
blr_handle_simple_select_stmt(): only mariadb10_gtid_domain is checked
for SELECT @@GLOBAL.gtid_domain_id slave request
blr_start_master_registration(): only router->mariadb10_compat is
checked before sending SELECT @@GLOBAL.gtid_domain_id to master
blr_file_create calls mxs_mkdir_all()
MASTER_USE_GTID=Slave_pos is now handled by CHANGE MASTER TO
If mariadb10_master_gtid is On
MASTER_LOG_FILE is no longer required, only MASTER_USE_GTID=Slave_pos
Slave_pos must be set before to empty value or request value:
set @@global.gtid_slave_pos = '0-10116-194';
Files are saved in GTID repo at creation time: this allows to show
files without transactions via SHOW [FULL] BINARY LOGS
The FULL keywords add domain_id and server id to the output as file
prefix: 0/10122/mysql-bin.000080
Standalone events in transaction (no COMMIT event) are now handled:
the GTID is saved to gtid_maps storage.
Transaction detection assumes there is only one query_event after GTID
event with MARIADB_FL_STANDALONE flag set.
Saving GTID components into gtid_maps storage will allow to create a
hiearchical binlog cache dir.
Empty GTID for master registration can be specified with SET
@@global.gtid_slave_pos = ‘’
MariaDB GTID Master registration:
creating missing binlog files (with 4 byes) between current one and the
filename coming from ROTATE_EVENT.
blr_slave_binlog_dump() is also checking possible empty files.
New option ‘mariadb10_master_gtid’ in use.
Only MariaDB 10 Slaves with GTID request can register if the option is
set.
When receiving a Master reply to a GTID request and the GTID_LIST is
seen, an IGNORABLE event could be written at the end of file if
GTID_LIST next_pos is beyond that EOF
New routine blr_handle_fake_gtid_list added for fake GTID_LIST_EVENT.
blr_file_append O_APPEND is set only if mariadb10_master_gtid is not
set.
blr_file_append() routine could change name in next commits
The “mariadb_gtid” parameter is no longer available:
“mariadb10_slave_gtid” is the new one.
Another parameter “mariadb10_master_gtid” enable GTID registration.
The latter set to On forces option “mariadb10_slave_gtid” to be On
maxbinlogcheck with new -T $pos option can find the BEGIN of
transaction where $pos belongs to and then replace all events in
between with IGNORABLE events
All modules now declare a name for the module. This is name is added as a
prefix to all messages logged by a module. The prefix should help
determine which part of the system logs a message.
AES_CTR routines are part of openssl 1.0.
If an old library is in use the AES_CTR cannot be specified for
encryption.
Additionally compilation is done without errors.
Events larger than 16MBytes are now encrypted when being saved.
Some changes to binlog event details report and maxbinlogcheck supports
-H option for replication header display