diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-08 22:11:37 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2019-03-08 22:11:37 +0200 |
commit | 5a796f1f41a5bc0afb638cc342095e59a5bb15df (patch) | |
tree | 34010ae4f2a01ea49040b6740e68d1ac3698abf7 | |
parent | 9512d3659c26019e37e643ee54e3d161a263dbcb (diff) | |
parent | 89b463ee99c22e69fe4adf686e0d61cd20973c49 (diff) | |
download | mariadb-git-5a796f1f41a5bc0afb638cc342095e59a5bb15df.tar.gz |
Merge 10.3 into 10.4
-rw-r--r-- | extra/mariabackup/backup_mysql.cc | 15 | ||||
-rw-r--r-- | extra/mariabackup/xtrabackup.cc | 10 | ||||
-rw-r--r-- | mysql-test/suite/galera/disabled.def | 70 | ||||
-rw-r--r-- | mysql-test/suite/mariabackup/page_compression_level.result | 14 | ||||
-rw-r--r-- | mysql-test/suite/mariabackup/page_compression_level.test | 31 |
5 files changed, 102 insertions, 38 deletions
diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc index a9eef808008..5c310c1a261 100644 --- a/extra/mariabackup/backup_mysql.cc +++ b/extra/mariabackup/backup_mysql.cc @@ -56,8 +56,7 @@ this program; if not, write to the Free Software Foundation, Inc., #include "encryption_plugin.h" #include <sstream> #include <sql_error.h> -#include <ut0ut.h> - +#include "page0zip.h" char *tool_name; char tool_args[2048]; @@ -353,6 +352,7 @@ get_mysql_vars(MYSQL *connection) char *innodb_undo_directory_var = NULL; char *innodb_page_size_var = NULL; char *innodb_undo_tablespaces_var = NULL; + char *page_zip_level_var = NULL; char *endptr; unsigned long server_version = mysql_get_server_version(connection); @@ -382,6 +382,7 @@ get_mysql_vars(MYSQL *connection) {"innodb_undo_directory", &innodb_undo_directory_var}, {"innodb_page_size", &innodb_page_size_var}, {"innodb_undo_tablespaces", &innodb_undo_tablespaces_var}, + {"innodb_compression_level", &page_zip_level_var}, {NULL, NULL} }; @@ -515,7 +516,13 @@ get_mysql_vars(MYSQL *connection) } if (innodb_undo_tablespaces_var) { - srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var, &endptr, 10); + srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var, + &endptr, 10); + ut_ad(*endptr == 0); + } + + if (page_zip_level_var != NULL) { + page_zip_level = strtoul(page_zip_level_var, &endptr, 10); ut_ad(*endptr == 0); } @@ -1557,6 +1564,7 @@ bool write_backup_config_file() "innodb_page_size=%lu\n" "innodb_undo_directory=%s\n" "innodb_undo_tablespaces=%lu\n" + "innodb_compression_level=%u\n" "%s%s\n" "%s\n", innodb_checksum_algorithm_names[srv_checksum_algorithm], @@ -1566,6 +1574,7 @@ bool write_backup_config_file() srv_page_size, srv_undo_dir, srv_undo_tablespaces, + page_zip_level, innobase_buffer_pool_filename ? "innodb_buffer_pool_filename=" : "", innobase_buffer_pool_filename ? diff --git a/extra/mariabackup/xtrabackup.cc b/extra/mariabackup/xtrabackup.cc index 296163978dc..c5408ef03f5 100644 --- a/extra/mariabackup/xtrabackup.cc +++ b/extra/mariabackup/xtrabackup.cc @@ -829,6 +829,7 @@ enum options_xtrabackup OPT_XTRA_TABLES_EXCLUDE, OPT_XTRA_DATABASES_EXCLUDE, OPT_PROTOCOL, + OPT_INNODB_COMPRESSION_LEVEL, OPT_LOCK_DDL_PER_TABLE, OPT_ROCKSDB_DATADIR, OPT_BACKUP_ROCKSDB, @@ -1357,6 +1358,11 @@ struct my_option xb_server_options[] = (G_PTR*)&srv_undo_tablespaces, (G_PTR*)&srv_undo_tablespaces, 0, GET_ULONG, REQUIRED_ARG, 0, 0, 126, 0, 1, 0}, + {"innodb_compression_level", OPT_INNODB_COMPRESSION_LEVEL, + "Compression level used for zlib compression.", + (G_PTR*)&page_zip_level, (G_PTR*)&page_zip_level, + 0, GET_UINT, REQUIRED_ARG, 6, 0, 9, 0, 0, 0}, + {"defaults_group", OPT_DEFAULTS_GROUP, "defaults group in config file (default \"mysqld\").", (G_PTR*) &defaults_group, (G_PTR*) &defaults_group, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -1694,6 +1700,10 @@ xb_get_one_option(int optid, ADD_PRINT_PARAM_OPT(innodb_checksum_algorithm_names[srv_checksum_algorithm]); break; + case OPT_INNODB_COMPRESSION_LEVEL: + ADD_PRINT_PARAM_OPT(page_zip_level); + break; + case OPT_INNODB_BUFFER_POOL_FILENAME: ADD_PRINT_PARAM_OPT(innobase_buffer_pool_filename); diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def index 3a8cab30c71..ad3455b0ac3 100644 --- a/mysql-test/suite/galera/disabled.def +++ b/mysql-test/suite/galera/disabled.def @@ -9,48 +9,48 @@ # Do not use any TAB characters for whitespace. # ############################################################################## + +GAL-419 : MDEV-13549 Galera test failures +GCF-1081 : MDEV-18283 Galera test failure on galera.GCF-1081 +MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C] +MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C] +MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C] +MW-329 : wsrep_local_replays not stable +MW-336 : MDEV-13549 incorrect wait_condition for wsrep_slave_threads changes MW-360 : needs rewrite to be MariaDB gtid compatible -galera_flush : MariaDB does not have global.thread_statistics +MW-388: MDEV-18837 Test failure: mysqltest: Result length mismatch +MW-416 : MDEV-13549 Galera test failures +MW-44 : MDEV-15809 Test failure on galera.MW-44 galera_account_management : MariaDB 10.0 does not support ALTER USER -galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events -galera_migrate : MariaDB does not support START SLAVE USER galera_as_master_gtid : Requires MySQL GTID galera_as_master_gtid_change_master : Requires MySQL GTID galera_as_slave_gtid_replicate_do_db_cc : Requires MySQL GTID galera_as_slave_preordered : wsrep-preordered feature not merged to MariaDB -GAL-419 : MDEV-13549 Galera test failures -galera_var_notify_cmd : MDEV-13549 Galera test failures -galera_as_slave_replication_bundle : MDEV-13549 Galera test failures -galera_ssl_upgrade : MDEV-13549 Galera test failures -MW-329 : wsrep_local_replays not stable -MW-336 : MDEV-13549 incorrect wait_condition for wsrep_slave_threads changes -MW-416 : MDEV-13549 Galera test failures -MW-44 : MDEV-15809 Test failure on galera.MW-44 -galera_pc_ignore_sb : MDEV-15811 Test failure on galera_pc_ignore_sb -galera_kill_applier : race condition at the start of the test +galera_as_slave_replication_bundle : MDEV-15785 OPTION_GTID_BEGIN is set in Gtid_log_event::do_apply_event() +galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup +galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit +galera_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events +galera_concurrent_ctas : MDEV-18180 Galera test failure on galera.galera_concurrent_ctas +galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files +galera_flush : MariaDB does not have global.thread_statistics +galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST +galera_ist_mariabackup : Leaves port open galera_ist_progress: MDEV-15236 galera_ist_progress fails when trying to read transfer status -pxc-421: Lock timeout exceeded -galera_sst_mysqldump_with_key : MDEV-16890 Galera test failure +galera_kill_applier : race condition at the start of the test galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl -galera_var_node_address : MDEV-17151 Galera test failure on galera.galera_var_node_address -galera_gc_fc_limit : MDEV-17061 Test failure on galera.galera_gc_fc_limit -galera_as_slave_replication_budle : MDEV-15785 Test case galera_as_slave_replication_bundle caused debug assertion +galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges +galera_kill_nochanges : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges +galera_many_tables_nopk : MDEV-18182 Galera test failure on galera.galera_many_tables_nopk +galera_migrate : MariaDB does not support START SLAVE USER +galera_pc_ignore_sb : MDEV-15811/MDEV-17357 Test failure +galera_split_brain : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges +galera_ssl_upgrade : MDEV-13549 Galera test failures +galera_sst_mysqldump_with_key : MDEV-16890 Galera test failure +galera_var_node_address : MDEV-17151 Galera test failure +galera_var_notify_cmd : MDEV-13549 Galera test failures +galera_var_reject_queries : assertion in inline_mysql_socket_send +galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit galera_wan : MDEV-17259: Test failure on galera.galera_wan -galera_pc_ignore_sb : MDEV-17357 Test failure on galera.galera_pc_ignore_sb -MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C] -MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C] -MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C] -galera.galera_encrypt_tmp_files : Get error failed to enable encryption of temporary files -galera.galera_var_reject_queries : assertion in inline_mysql_socket_send +partition : MDEV-13549 regularly showing auto_increment mismatch +pxc-421: Lock timeout exceeded query_cache : MDEV-18137: Galera test failure on query_cache -galera.galera_autoinc_sst_mariabackup : MDEV-18177 Galera test failure on galera_autoinc_sst_mariabackup -galera.galera_ist_mariabackup : Leaves port open -galera.galera_kill_largechanges : MDEV-18179 Galera test failure on galera.galera_kill_largechanges -galera.galera_concurrent_ctas : MDEV-18180 Galera test failure on galera.galera_concurrent_ctas -galera.galera_var_retry_autocommit: MDEV-18181 Galera test failure on galera.galera_var_retry_autocommit -galera.galera_many_tables_nopk : MDEV-18182 Galera test failure on galera.galera_many_tables_nopk -galera.galera_kill_nochanges : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges -galera.galera_split_brain : MDEV-18280 Galera test failure on galera_split_brain and galera_kill_nochanges -galera.galera_bf_abort_group_commit : MDEV-18282 Galera test failure on galera.galera_bf_abort_group_commit -galera.GCF-1081 : MDEV-18283 Galera test failure on galera.GCF-1081 -galera.MW-388: MDEV-18837 Test failure: mysqltest: Result length mismatch diff --git a/mysql-test/suite/mariabackup/page_compression_level.result b/mysql-test/suite/mariabackup/page_compression_level.result new file mode 100644 index 00000000000..811fd8212f1 --- /dev/null +++ b/mysql-test/suite/mariabackup/page_compression_level.result @@ -0,0 +1,14 @@ +set global innodb_compression_level = 3; +CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1; +INSERT INTO t1 VALUES(1, 'mariadb'); +# xtrabackup backup +# xtrabackup prepare +FOUND 1 /innodb_compression_level=3/ in backup-my.cnf +DELETE FROM t1; +ALTER TABLE t1 DISCARD TABLESPACE; +ALTER TABLE t1 IMPORT TABLESPACE; +SELECT * FROM t1; +c1 b +1 mariadb +DROP TABLE t1; +set global innodb_compression_level = default; diff --git a/mysql-test/suite/mariabackup/page_compression_level.test b/mysql-test/suite/mariabackup/page_compression_level.test new file mode 100644 index 00000000000..e80c956e621 --- /dev/null +++ b/mysql-test/suite/mariabackup/page_compression_level.test @@ -0,0 +1,31 @@ +#--source include/innodb_page_size.inc + +set global innodb_compression_level = 3; +CREATE TABLE t1(c1 INT, b CHAR(20)) ENGINE=INNODB PAGE_COMPRESSED=1; +INSERT INTO t1 VALUES(1, 'mariadb'); + +echo # xtrabackup backup; +let $targetdir=$MYSQLTEST_VARDIR/tmp/backup; + +--disable_result_log +exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$targetdir; +echo # xtrabackup prepare; +exec $XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --defaults-group-suffix=.1 --prepare --export --target-dir=$targetdir; +--enable_result_log + +--let SEARCH_PATTERN=innodb_compression_level=3 +--let SEARCH_FILE=$targetdir/backup-my.cnf +--source include/search_pattern_in_file.inc + +DELETE FROM t1; +ALTER TABLE t1 DISCARD TABLESPACE; +let $MYSQLD_DATADIR= `select @@datadir`; +copy_file $targetdir/test/t1.ibd $MYSQLD_DATADIR/test/t1.ibd; +copy_file $targetdir/test/t1.cfg $MYSQLD_DATADIR/test/t1.cfg; +ALTER TABLE t1 IMPORT TABLESPACE; + +SELECT * FROM t1; + +DROP TABLE t1; +set global innodb_compression_level = default; +rmdir $targetdir; |