summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2019-03-08 20:45:45 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2019-03-08 20:45:45 +0200
commitab7e2b048d7d0835ae7473873169b7606114348e (patch)
tree26660daf3f339f8bc54d2449985d951bc37b7921
parentbf71d263621c90cbddc7bde9bf071dae503f333f (diff)
parent6567636b09ba410a330cd45285e489c628c4ff37 (diff)
downloadmariadb-git-ab7e2b048d7d0835ae7473873169b7606114348e.tar.gz
Merge 10.1 into 10.2
-rw-r--r--extra/mariabackup/backup_mysql.cc15
-rw-r--r--extra/mariabackup/xtrabackup.cc10
-rw-r--r--mysql-test/suite/galera/disabled.def47
-rw-r--r--mysql-test/suite/mariabackup/page_compression_level.result14
-rw-r--r--mysql-test/suite/mariabackup/page_compression_level.test31
5 files changed, 91 insertions, 26 deletions
diff --git a/extra/mariabackup/backup_mysql.cc b/extra/mariabackup/backup_mysql.cc
index a691cb664f1..184cd1b4504 100644
--- a/extra/mariabackup/backup_mysql.cc
+++ b/extra/mariabackup/backup_mysql.cc
@@ -55,8 +55,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];
@@ -352,6 +351,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);
@@ -381,6 +381,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}
};
@@ -514,7 +515,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);
}
@@ -1662,6 +1669,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],
@@ -1671,6 +1679,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 5737fcfca64..889d3ca3bac 100644
--- a/extra/mariabackup/xtrabackup.cc
+++ b/extra/mariabackup/xtrabackup.cc
@@ -834,6 +834,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,
@@ -1365,6 +1366,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},
@@ -1701,6 +1707,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 e6efd57fb29..4a6e6919511 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -10,34 +10,35 @@
#
##############################################################################
-galera_flush : MariaDB does not have global.thread_statistics
+GAL-419 : MDEV-13549 Galera test failures
+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 Timeout in wait_condition.inc for PROCESSLIST
+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_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
-galera.MW-329 : wsrep_local_replays not stable
-MW-416 : MDEV-13549 Galera test failures
-galera.MW-44 : MDEV-15809 Test failure on galera.MW-44
-galera.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_binlog_rows_query_log_events: MariaDB does not support binlog_rows_query_log_events
+galera_binlog_stmt_autoinc : MDEV-13549 auto_increment mismatch
+galera_flush : MariaDB does not have global.thread_statistics
+galera_gcs_fc_limit : MDEV-17061 Timeout in wait_condition.inc for PROCESSLIST
galera_ist_progress: MDEV-15236 galera_ist_progress fails when trying to read transfer status
-pxc-421: Lock timeout exceeded
+galera_kill_applier : race condition at the start of the test
+galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl
+galera_migrate : MariaDB does not support START SLAVE USER
+galera_pc_ignore_sb : MDEV-15811/MDEV-17357 Test failure
+galera_ssl_upgrade : MDEV-13549 Galera test failures
galera_sst_mysqldump_with_key : MDEV-16890 Galera test failure
-galera.galera_kill_ddl : MDEV-17108 Test failure on galera.galera_kill_ddl
-galera.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_sst_xtrabackup-v2 : MDEV-17848 Galera test failure
+galera_sst_xtrabackup-v2_data_dir : MDEV-17848 Galera test failure
+galera_var_node_address : MDEV-17151 Galera test failure
+galera_var_notify_cmd : MDEV-13549 Galera test failures
galera_wan : MDEV-17259: Test failure on galera.galera_wan
-galera_pc_ignore_sb : MDEV-17357 Test failure on galera.galera_pc_ignore_sb
-galera.MW-328A : MDEV-17847 Galera test failure on MW-328[A|B|C]
-galera.MW-328B : MDEV-17847 Galera test failure on MW-328[A|B|C]
-galera.MW-328C : MDEV-17847 Galera test failure on MW-328[A|B|C]
-galera.galera_sst_xtrabackup-v2 : MDEV-17848 Galera test failure on galera_sst_xtrabackup-v2[_data_dir]
-galera.galera_sst_xtrabackup-v2_data_dir : MDEV-17848 Galera test failure on galera_sst_xtrabackup-v2[_data_dir]
+partition : MDEV-13549 regularly showing auto_increment mismatch
+pxc-421: Lock timeout exceeded
query_cache : MDEV-18137: Galera test failure on query_cache
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;