!59 [2003SP3] Bump to 10.3.34

From: @bzhaoop 
Reviewed-by: @zhengzhenyu 
Signed-off-by: @zhengzhenyu
This commit is contained in:
openeuler-ci-bot 2022-03-15 01:16:42 +00:00 committed by Gitee
commit ddf288be01
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
11 changed files with 138 additions and 827 deletions

View File

@ -0,0 +1,55 @@
diff -Naur mariadb-10.3.34/mysql-test/unstable-tests mariadb-10.3.34_patched/mysql-test/unstable-tests
--- mariadb-10.3.34/mysql-test/unstable-tests 2022-02-11 03:31:00.000000000 +0800
+++ mariadb-10.3.34_patched/mysql-test/unstable-tests 2022-03-03 11:35:46.130367650 +0800
@@ -133,6 +133,9 @@
main.ssl_ca : MDEV-10895 - SSL connection error on Power
main.ssl_cipher : MDEV-17184 - Failures with OpenSSL 1.1.1
main.ssl_timeout : MDEV-11244 - Crash
+main.ssl_7937 :
+main.ssl_crl_clients :
+main.ssl_8k_key :
main.stat_tables : Modified in 10.3.28
main.stat_tables_par_innodb : MDEV-14155 - Wrong rounding
main.status : MDEV-13255 - Wrong result
@@ -368,6 +371,7 @@
innodb.undo_truncate_recover : MDEV-17679 - Server has gone away
innodb.update_time : MDEV-14804 - Wrong result
innodb.xa_recovery : MDEV-15279 - mysqld got exception
+innodb.innodb_defrag_binlog :
#-----------------------------------------------------------------------
@@ -467,6 +471,7 @@
parts.partition_exch_qa_10 : MDEV-11765 - wrong result
parts.partition_innodb_status_file : MDEV-12901 - Valgrind
parts.partition_special_innodb : MDEV-16942 - Timeout
+parts.partition_alter4_innodb :
#-----------------------------------------------------------------------
@@ -491,6 +496,9 @@
perfschema.stage_mdl_table : MDEV-12638 - Wrong result
perfschema.start_server_low_digest : MDEV-21221 - Wrong result
perfschema.threads_mysql : MDEV-10677 - Wrong result
+perfschema.nesting :
+perfschema.socket_summary_by_instance_func :
+perfschema.cnf_option :
#-----------------------------------------------------------------------
@@ -629,6 +637,7 @@
rpl.rpl_user_variables : MDEV-20522 - Wrong result
rpl.rpl_variables : MDEV-20150 - Server crash
rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result
+rpl.rpl_connection :
#-----------------------------------------------------------------------
@@ -687,6 +696,7 @@
sys_vars.slow_query_log_func : MDEV-14273 - Wrong result
sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result
sys_vars.wait_timeout_func : MDEV-12896 - Wrong result
+sys_vars.slave_parallel_threads_basic :
#-----------------------------------------------------------------------

View File

@ -0,0 +1,11 @@
diff -Naur mariadb-10.3.34/support-files/mariadb.service.in mariadb-10.3.34_patched/support-files/mariadb.service.in
--- mariadb-10.3.34/support-files/mariadb.service.in 2022-02-11 03:31:02.000000000 +0800
+++ mariadb-10.3.34_patched/support-files/mariadb.service.in 2022-03-03 11:45:17.906359320 +0800
@@ -82,6 +82,7 @@
# Needed to create system tables etc.
# ExecStartPre=@scriptdir@/mysql_install_db -u mysql
+ExecStartPre=@scriptdir@/mysql_install_db --user="mysql" --skip-test-db
# Start main service
# MYSQLD_OPTS here is for users to set in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf

View File

@ -0,0 +1,23 @@
diff -Naur mariadb-10.3.34/mysql-test/unstable-tests mariadb-10.3.34_patched/mysql-test/unstable-tests
--- mariadb-10.3.34/mysql-test/unstable-tests 2022-03-03 11:43:57.725496322 +0800
+++ mariadb-10.3.34_patched/mysql-test/unstable-tests 2022-03-03 11:49:42.589164265 +0800
@@ -59,9 +59,10 @@
main.events_bugs : MDEV-12892 - Crash
main.events_restart : MDEV-12236 - Server shutdown problem
main.events_slowlog : MDEV-12821 - Wrong result
+main.events_1 : Skip on ARM
main.flush : MDEV-19368 - mysqltest failed but provided no output
main.func_gconcat : MDEV-21379 - Valgrind warnings; modified in 10.3.28
-main.func_like : Modified in 10.3.28
+main.func_like : Modified in 10.3.28 - Skip on ARM
main.func_math : MDEV-20532 - Floating point differences
main.gis : MDEV-13411 - wrong result on P8
main.gis-json : Modified in 10.3.28
@@ -178,6 +179,7 @@
binlog.binlog_no_uniqfile_crash : MDEV-24078 - Server crash upon shutdown
binlog.binlog_stm_mix_innodb_myisam : MDEV-24057 - Wrong result
binlog.binlog_xa_recover : MDEV-12908 - Extra checkpoint
+binlog.binlog_mysqlbinlog2 : Skip on ARM
binlog.flashback-largebinlog : MDEV-19764 - Out of memory
binlog.load_data_stm_view : MDEV-16948 - Wrong result

View File

@ -1,83 +0,0 @@
diff -uprN mariadb-10.3.9/sql/wsrep_sst.cc mariadb-10.3.9_patched/sql/wsrep_sst.cc
--- mariadb-10.3.9/sql/wsrep_sst.cc 2018-08-14 08:43:42.000000000 +0800
+++ mariadb-10.3.9_patched/sql/wsrep_sst.cc 2021-06-28 16:38:09.877908754 +0800
@@ -15,6 +15,7 @@
#include "mariadb.h"
#include "wsrep_sst.h"
+#include <ctype.h>
#include <mysqld.h>
#include <m_ctype.h>
#include <strfunc.h>
@@ -1315,24 +1316,66 @@ static int sst_donate_other (const char*
return arg.err;
}
+/* return true if character can be a part of a filename */
+static bool filename_char(int const c)
+{
+ return isalnum(c) || (c == '-') || (c == '_') || (c == '.');
+}
+
+/* return true if character can be a part of an address string */
+static bool address_char(int const c)
+{
+ return filename_char(c) ||
+ (c == ':') || (c == '[') || (c == ']') || (c == '/');
+}
+
+static bool check_request_str(const char* const str,
+ bool (*check) (int c))
+{
+ for (size_t i(0); str[i] != '\0'; ++i)
+ {
+ if (!check(str[i]))
+ {
+ WSREP_WARN("Illegal character in state transfer request: %i (%c).",
+ str[i], str[i]);
+ return true;
+ }
+ }
+
+ return false;
+}
+
wsrep_cb_status_t wsrep_sst_donate_cb (void* app_ctx, void* recv_ctx,
const void* msg, size_t msg_len,
const wsrep_gtid_t* current_gtid,
const char* state, size_t state_len,
bool bypass)
{
- /* This will be reset when sync callback is called.
- * Should we set wsrep_ready to FALSE here too? */
-
- wsrep_config_state->set(WSREP_MEMBER_DONOR);
-
const char* method = (char*)msg;
size_t method_len = strlen (method);
+
+ if (check_request_str(method, filename_char))
+ {
+ WSREP_ERROR("Bad SST method name. SST canceled.");
+ return WSREP_CB_FAILURE;
+ }
+
const char* data = method + method_len + 1;
+ if (check_request_str(data, address_char))
+ {
+ WSREP_ERROR("Bad SST address string. SST canceled.");
+ return WSREP_CB_FAILURE;
+ }
+
char uuid_str[37];
wsrep_uuid_print (&current_gtid->uuid, uuid_str, sizeof(uuid_str));
+ /* This will be reset when sync callback is called.
+ * Should we set wsrep_ready to FALSE here too? */
+
+ wsrep_config_state->set(WSREP_MEMBER_DONOR);
+
wsp::env env(NULL);
if (env.error())
{

View File

@ -1,582 +0,0 @@
diff --git a/mysql-test/suite/galera/disabled.def b/mysql-test/suite/galera/disabled.def
index c3b5e070158..6d9e198271c 100644
--- a/mysql-test/suite/galera/disabled.def
+++ b/mysql-test/suite/galera/disabled.def
@@ -37,3 +37,4 @@ galera_ist_progress: MDEV-15236 galera_ist_progress fails when trying to read tr
galera_concurrent_ctas : MDEV-15845 Test failure on galera.galera_concurrent_ctas
pxc-421: Lock timeout exceeded
galera_sst_mysqldump_with_key : MDEV-16890 Galera test failure
+pxc-421: wsrep_provider is read-only for security reasons
diff --git a/mysql-test/suite/galera/include/galera_load_provider.inc b/mysql-test/suite/galera/include/galera_load_provider.inc
index aeab7e6ea19..e6ce6411193 100644
--- a/mysql-test/suite/galera/include/galera_load_provider.inc
+++ b/mysql-test/suite/galera/include/galera_load_provider.inc
@@ -1,7 +1,6 @@
--echo Loading wsrep provider ...
--disable_query_log
---eval SET GLOBAL wsrep_provider = '$wsrep_provider_orig';
--eval SET GLOBAL wsrep_cluster_address = '$wsrep_cluster_address_orig';
--enable_query_log
diff --git a/mysql-test/suite/galera/include/galera_unload_provider.inc b/mysql-test/suite/galera/include/galera_unload_provider.inc
index edc7eb31e0e..83438a947f0 100644
--- a/mysql-test/suite/galera/include/galera_unload_provider.inc
+++ b/mysql-test/suite/galera/include/galera_unload_provider.inc
@@ -1,7 +1,6 @@
--echo Unloading wsrep provider ...
--let $wsrep_cluster_address_orig = `SELECT @@wsrep_cluster_address`
---let $wsrep_provider_orig = `SELECT @@wsrep_provider`
--let $wsrep_provider_options_orig = `SELECT @@wsrep_provider_options`
-SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_cluster_address = '';
diff --git a/mysql-test/suite/galera/r/galera_ist_rsync.result b/mysql-test/suite/galera/r/galera_ist_rsync.result
index 9c0d78d96e9..16d13ef261f 100644
--- a/mysql-test/suite/galera/r/galera_ist_rsync.result
+++ b/mysql-test/suite/galera/r/galera_ist_rsync.result
@@ -21,7 +21,7 @@ INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Unloading wsrep provider ...
-SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_cluster_address = '';
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
diff --git a/mysql-test/suite/galera/r/galera_sst_mysqldump.result b/mysql-test/suite/galera/r/galera_sst_mysqldump.result
index 5c530c32ce6..6bdc933a9fc 100644
--- a/mysql-test/suite/galera/r/galera_sst_mysqldump.result
+++ b/mysql-test/suite/galera/r/galera_sst_mysqldump.result
@@ -30,7 +30,7 @@ INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Unloading wsrep provider ...
-SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_cluster_address = '';
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
diff --git a/mysql-test/suite/galera/r/mysql-wsrep#33.result b/mysql-test/suite/galera/r/mysql-wsrep#33.result
index 6a5251204b9..4cc49c0cf07 100644
--- a/mysql-test/suite/galera/r/mysql-wsrep#33.result
+++ b/mysql-test/suite/galera/r/mysql-wsrep#33.result
@@ -30,7 +30,7 @@ INSERT INTO t1 VALUES ('node2_committed_before');
INSERT INTO t1 VALUES ('node2_committed_before');
COMMIT;
Unloading wsrep provider ...
-SET GLOBAL wsrep_provider = 'none';
+SET GLOBAL wsrep_cluster_address = '';
connection node_1;
SET AUTOCOMMIT=OFF;
START TRANSACTION;
diff --git a/mysql-test/suite/sys_vars/r/sysvars_wsrep.result b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
index db932ae8223..921172920f1 100644
--- a/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
+++ b/mysql-test/suite/sys_vars/r/sysvars_wsrep.result
@@ -335,7 +335,7 @@ NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
-READ_ONLY NO
+READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME WSREP_ON
SESSION_VALUE OFF
@@ -391,7 +391,7 @@ NUMERIC_MIN_VALUE NULL
NUMERIC_MAX_VALUE NULL
NUMERIC_BLOCK_SIZE NULL
ENUM_VALUE_LIST NULL
-READ_ONLY NO
+READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME WSREP_PROVIDER_OPTIONS
SESSION_VALUE NULL
diff --git a/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result b/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result
deleted file mode 100644
index 056ff8c817b..00000000000
--- a/mysql-test/suite/sys_vars/r/wsrep_notify_cmd_basic.result
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# wsrep_notify_cmd
-#
-call mtr.add_suppression("WSREP: Failed to get provider options");
-# save the initial value
-SET @wsrep_notify_cmd_global_saved = @@global.wsrep_notify_cmd;
-# default
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-
-
-# scope
-SELECT @@session.wsrep_notify_cmd;
-ERROR HY000: Variable 'wsrep_notify_cmd' is a GLOBAL variable
-SET @@global.wsrep_notify_cmd='notify_cmd';
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-notify_cmd
-
-# valid values
-SET @@global.wsrep_notify_cmd='command';
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-command
-SET @@global.wsrep_notify_cmd='hyphenated-command';
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-hyphenated-command
-SET @@global.wsrep_notify_cmd=default;
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-
-SET @@global.wsrep_notify_cmd=NULL;
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-NULL
-
-# invalid values
-SET @@global.wsrep_notify_cmd=1;
-ERROR 42000: Incorrect argument type to variable 'wsrep_notify_cmd'
-SELECT @@global.wsrep_notify_cmd;
-@@global.wsrep_notify_cmd
-NULL
-
-# restore the initial value
-SET @@global.wsrep_notify_cmd = @wsrep_notify_cmd_global_saved;
-# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result b/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result
deleted file mode 100644
index 3e4ac8ca883..00000000000
--- a/mysql-test/suite/sys_vars/r/wsrep_provider_basic.result
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# wsrep_provider
-#
-# save the initial value
-SET @wsrep_provider_global_saved = @@global.wsrep_provider;
-# default
-SELECT @@global.wsrep_provider;
-@@global.wsrep_provider
-none
-
-# scope
-SELECT @@session.wsrep_provider;
-ERROR HY000: Variable 'wsrep_provider' is a GLOBAL variable
-SELECT @@global.wsrep_provider;
-@@global.wsrep_provider
-none
-
-# valid values
-SET @@global.wsrep_provider=default;
-SELECT @@global.wsrep_provider;
-@@global.wsrep_provider
-none
-
-# invalid values
-SET @@global.wsrep_provider='/invalid/libgalera_smm.so';
-ERROR 42000: Variable 'wsrep_provider' can't be set to the value of '/invalid/libgalera_smm.so'
-SET @@global.wsrep_provider=NULL;
-ERROR 42000: Variable 'wsrep_provider' can't be set to the value of 'NULL'
-SELECT @@global.wsrep_provider;
-@@global.wsrep_provider
-none
-SET @@global.wsrep_provider=1;
-ERROR 42000: Incorrect argument type to variable 'wsrep_provider'
-SELECT @@global.wsrep_provider;
-@@global.wsrep_provider
-none
-
-# restore the initial value
-SET @@global.wsrep_provider = @wsrep_provider_global_saved;
-# End of test
diff --git a/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result b/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result
deleted file mode 100644
index b2e07c55b38..00000000000
--- a/mysql-test/suite/sys_vars/r/wsrep_provider_options_basic.result
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# wsrep_provider_options
-#
-call mtr.add_suppression("WSREP: Failed to get provider options");
-SET @@global.wsrep_provider = @@global.wsrep_provider;
-# save the initial value
-SET @wsrep_provider_options_global_saved = @@global.wsrep_provider_options;
-# default
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-
-
-# scope
-SELECT @@session.wsrep_provider_options;
-ERROR HY000: Variable 'wsrep_provider_options' is a GLOBAL variable
-SET @@global.wsrep_provider_options='option1';
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-option1
-
-# valid values
-SET @@global.wsrep_provider_options='name1=value1;name2=value2';
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-name1=value1;name2=value2
-SET @@global.wsrep_provider_options='hyphenated-name:value';
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-hyphenated-name:value
-SET @@global.wsrep_provider_options=default;
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-
-
-# invalid values
-SET @@global.wsrep_provider_options=1;
-ERROR 42000: Incorrect argument type to variable 'wsrep_provider_options'
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-
-SET @@global.wsrep_provider_options=NULL;
-Got one of the listed errors
-SELECT @@global.wsrep_provider_options;
-@@global.wsrep_provider_options
-NULL
-
-# restore the initial value
-SET @@global.wsrep_provider_options = @wsrep_provider_options_global_saved;
-# End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test b/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test
deleted file mode 100644
index 6d1535ba148..00000000000
--- a/mysql-test/suite/sys_vars/t/wsrep_notify_cmd_basic.test
+++ /dev/null
@@ -1,43 +0,0 @@
---source include/have_wsrep.inc
-
---echo #
---echo # wsrep_notify_cmd
---echo #
-
-call mtr.add_suppression("WSREP: Failed to get provider options");
-
---echo # save the initial value
-SET @wsrep_notify_cmd_global_saved = @@global.wsrep_notify_cmd;
-
---echo # default
-SELECT @@global.wsrep_notify_cmd;
-
---echo
---echo # scope
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.wsrep_notify_cmd;
-SET @@global.wsrep_notify_cmd='notify_cmd';
-SELECT @@global.wsrep_notify_cmd;
-
---echo
---echo # valid values
-SET @@global.wsrep_notify_cmd='command';
-SELECT @@global.wsrep_notify_cmd;
-SET @@global.wsrep_notify_cmd='hyphenated-command';
-SELECT @@global.wsrep_notify_cmd;
-SET @@global.wsrep_notify_cmd=default;
-SELECT @@global.wsrep_notify_cmd;
-SET @@global.wsrep_notify_cmd=NULL;
-SELECT @@global.wsrep_notify_cmd;
-
---echo
---echo # invalid values
---error ER_WRONG_TYPE_FOR_VAR
-SET @@global.wsrep_notify_cmd=1;
-SELECT @@global.wsrep_notify_cmd;
-
---echo
---echo # restore the initial value
-SET @@global.wsrep_notify_cmd = @wsrep_notify_cmd_global_saved;
-
---echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test b/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test
deleted file mode 100644
index 1190ab41bb0..00000000000
--- a/mysql-test/suite/sys_vars/t/wsrep_provider_basic.test
+++ /dev/null
@@ -1,39 +0,0 @@
---source include/have_wsrep.inc
-
---echo #
---echo # wsrep_provider
---echo #
-
---echo # save the initial value
-SET @wsrep_provider_global_saved = @@global.wsrep_provider;
-
---echo # default
-SELECT @@global.wsrep_provider;
-
---echo
---echo # scope
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.wsrep_provider;
-SELECT @@global.wsrep_provider;
-
---echo
---echo # valid values
-SET @@global.wsrep_provider=default;
-SELECT @@global.wsrep_provider;
-
---echo
---echo # invalid values
---error ER_WRONG_VALUE_FOR_VAR
-SET @@global.wsrep_provider='/invalid/libgalera_smm.so';
---error ER_WRONG_VALUE_FOR_VAR
-SET @@global.wsrep_provider=NULL;
-SELECT @@global.wsrep_provider;
---error ER_WRONG_TYPE_FOR_VAR
-SET @@global.wsrep_provider=1;
-SELECT @@global.wsrep_provider;
-
---echo
---echo # restore the initial value
-SET @@global.wsrep_provider = @wsrep_provider_global_saved;
-
---echo # End of test
diff --git a/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test b/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test
deleted file mode 100644
index d2ea32a0637..00000000000
--- a/mysql-test/suite/sys_vars/t/wsrep_provider_options_basic.test
+++ /dev/null
@@ -1,51 +0,0 @@
---source include/have_wsrep.inc
-
---echo #
---echo # wsrep_provider_options
---echo #
-
-call mtr.add_suppression("WSREP: Failed to get provider options");
-
-SET @@global.wsrep_provider = @@global.wsrep_provider;
-
---echo # save the initial value
-SET @wsrep_provider_options_global_saved = @@global.wsrep_provider_options;
-
---echo # default
-SELECT @@global.wsrep_provider_options;
-
---echo
---echo # scope
---error ER_INCORRECT_GLOBAL_LOCAL_VAR
-SELECT @@session.wsrep_provider_options;
---error 0,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options='option1';
-SELECT @@global.wsrep_provider_options;
-
---echo
---echo # valid values
---error 0,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options='name1=value1;name2=value2';
-SELECT @@global.wsrep_provider_options;
---error 0,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options='hyphenated-name:value';
-SELECT @@global.wsrep_provider_options;
---error 0,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options=default;
-SELECT @@global.wsrep_provider_options;
-
---echo
---echo # invalid values
---error ER_WRONG_TYPE_FOR_VAR
-SET @@global.wsrep_provider_options=1;
-SELECT @@global.wsrep_provider_options;
---error ER_WRONG_ARGUMENTS,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options=NULL;
-SELECT @@global.wsrep_provider_options;
-
---echo
---echo # restore the initial value
---error 0,ER_WRONG_ARGUMENTS
-SET @@global.wsrep_provider_options = @wsrep_provider_options_global_saved;
-
---echo # End of test
diff --git a/mysql-test/suite/wsrep/disabled.def b/mysql-test/suite/wsrep/disabled.def
index c7c8f2c6216..b5304b1c992 100644
--- a/mysql-test/suite/wsrep/disabled.def
+++ b/mysql-test/suite/wsrep/disabled.def
@@ -1,2 +1,4 @@
wsrep.foreign_key : Sporadic failure "WSREP has not yet prepared node for application use"
+
+mdev_6832: wsrep_provider is read-only for security reasons
diff --git a/mysql-test/suite/wsrep/r/variables.result b/mysql-test/suite/wsrep/r/variables.result
index b6f22828532..c944af8c90d 100644
--- a/mysql-test/suite/wsrep/r/variables.result
+++ b/mysql-test/suite/wsrep/r/variables.result
@@ -13,7 +13,6 @@ SET SESSION wsrep_replicate_myisam= ON;
ERROR HY000: Variable 'wsrep_replicate_myisam' is a GLOBAL variable and should be set with SET GLOBAL
SET GLOBAL wsrep_replicate_myisam= ON;
SET GLOBAL wsrep_replicate_myisam= OFF;
-SET GLOBAL wsrep_provider=none;
#
# MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
# variables when using "_"
@@ -134,10 +133,6 @@ wsrep_local_state_comment #
# Should show nothing.
SHOW STATUS LIKE 'x';
Variable_name Value
-SET GLOBAL wsrep_provider=none;
-#
-# MDEV#6079: xtrabackup SST failing with maria-10.0-galera
-#
SHOW STATUS LIKE 'wsrep_local_state_uuid';
Variable_name Value
@@ -146,7 +141,6 @@ wsrep_local_state_uuid #
SHOW STATUS LIKE 'wsrep_last_committed';
Variable_name Value
wsrep_last_committed #
-SET GLOBAL wsrep_provider=none;
#
# MDEV#6206: wsrep_slave_threads subtracts from max_connections
@@ -160,30 +154,29 @@ SELECT @@global.wsrep_slave_threads;
1
SELECT @@global.wsrep_cluster_address;
@@global.wsrep_cluster_address
-
+gcomm://
SHOW STATUS LIKE 'threads_connected';
Variable_name Value
Threads_connected 1
SHOW STATUS LIKE 'wsrep_thread_count';
Variable_name Value
-wsrep_thread_count 0
+wsrep_thread_count 2
SELECT @@global.wsrep_provider;
@@global.wsrep_provider
libgalera_smm.so
SELECT @@global.wsrep_cluster_address;
@@global.wsrep_cluster_address
-
+gcomm://
SHOW STATUS LIKE 'threads_connected';
Variable_name Value
Threads_connected 1
SHOW STATUS LIKE 'wsrep_thread_count';
Variable_name Value
-wsrep_thread_count 0
+wsrep_thread_count 2
# Setting wsrep_cluster_address triggers the creation of
# applier/rollbacker threads.
-SET GLOBAL wsrep_cluster_address= 'gcomm://';
# Wait for applier threads to get created.
SELECT @@global.wsrep_provider;
@@global.wsrep_provider
diff --git a/mysql-test/suite/wsrep/t/variables.test b/mysql-test/suite/wsrep/t/variables.test
index 1315f090d5c..867af600817 100644
--- a/mysql-test/suite/wsrep/t/variables.test
+++ b/mysql-test/suite/wsrep/t/variables.test
@@ -18,7 +18,7 @@ SET GLOBAL wsrep_replicate_myisam= ON;
# Reset it back.
SET GLOBAL wsrep_replicate_myisam= OFF;
-SET GLOBAL wsrep_provider=none;
+#SET GLOBAL wsrep_provider=none;
--echo #
--echo # MDEV#5790: SHOW GLOBAL STATUS LIKE does not show the correct list of
@@ -27,11 +27,9 @@ SET GLOBAL wsrep_provider=none;
CALL mtr.add_suppression("WSREP: Could not open saved state file for reading.*");
---disable_query_log
-eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
---let $galera_version=25.3.17
+#evalp SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
+--let $galera_version=25.3.24
source include/check_galera_version.inc;
---enable_query_log
--replace_column 2 #
SHOW GLOBAL STATUS LIKE 'wsrep%';
@@ -47,15 +45,13 @@ SHOW GLOBAL STATUS LIKE 'wsrep_local_state_comment';
SHOW STATUS LIKE 'x';
# Reset it back.
-SET GLOBAL wsrep_provider=none;
+#SET GLOBAL wsrep_provider=none;
--echo #
--echo # MDEV#6079: xtrabackup SST failing with maria-10.0-galera
--echo #
---disable_query_log
-eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
---enable_query_log
+#evalp SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
# The following 2 variables are used in innobackupex during xtrabackup-based
# SST.
@@ -67,7 +63,7 @@ SHOW STATUS LIKE 'wsrep_local_state_uuid';
SHOW STATUS LIKE 'wsrep_last_committed';
# Reset it back.
-SET GLOBAL wsrep_provider=none;
+#SET GLOBAL wsrep_provider=none;
--echo
--echo #
@@ -75,9 +71,7 @@ SET GLOBAL wsrep_provider=none;
--echo #
call mtr.add_suppression("WSREP: Failed to get provider options");
---disable_query_log
-eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
---enable_query_log
+#evalp SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
--replace_regex /.*libgalera_smm.*/libgalera_smm.so/
SELECT @@global.wsrep_provider;
@@ -87,9 +81,7 @@ SHOW STATUS LIKE 'threads_connected';
SHOW STATUS LIKE 'wsrep_thread_count';
--echo
---disable_query_log
-eval SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
---enable_query_log
+#evalp SET GLOBAL wsrep_provider= '$WSREP_PROVIDER';
--replace_regex /.*libgalera_smm.*/libgalera_smm.so/
SELECT @@global.wsrep_provider;
@@ -100,7 +92,7 @@ SHOW STATUS LIKE 'wsrep_thread_count';
--echo # Setting wsrep_cluster_address triggers the creation of
--echo # applier/rollbacker threads.
-SET GLOBAL wsrep_cluster_address= 'gcomm://';
+#SET GLOBAL wsrep_cluster_address= 'gcomm://';
--echo # Wait for applier threads to get created.
sleep 3;
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 8858259c863..90ca973052b 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -5236,7 +5236,7 @@ static Sys_var_tz Sys_time_zone(
static Sys_var_charptr Sys_wsrep_provider(
"wsrep_provider", "Path to replication provider library",
- PREALLOCATED GLOBAL_VAR(wsrep_provider), CMD_LINE(REQUIRED_ARG),
+ PREALLOCATED READ_ONLY GLOBAL_VAR(wsrep_provider), CMD_LINE(REQUIRED_ARG),
IN_FS_CHARSET, DEFAULT(WSREP_NONE),
NO_MUTEX_GUARD, NOT_IN_BINLOG,
ON_CHECK(wsrep_provider_check), ON_UPDATE(wsrep_provider_update));
@@ -5406,7 +5406,7 @@ static Sys_var_ulong Sys_wsrep_max_ws_rows (
static Sys_var_charptr Sys_wsrep_notify_cmd(
"wsrep_notify_cmd", "",
- GLOBAL_VAR(wsrep_notify_cmd),CMD_LINE(REQUIRED_ARG),
+ READ_ONLY GLOBAL_VAR(wsrep_notify_cmd), CMD_LINE(REQUIRED_ARG),
IN_SYSTEM_CHARSET, DEFAULT(""));
static Sys_var_mybool Sys_wsrep_certify_nonPK(

View File

@ -1,25 +0,0 @@
From 22caf578e446809de75555ec8252f09da50c8db1 Mon Sep 17 00:00:00 2001
From: eulerstorage <eulerstorage@huawei.com>
Date: Sun, 19 Jan 2020 22:54:38 +0800
Subject: [PATCH] add mysql install db command
---
support-files/mariadb.service.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/support-files/mariadb.service.in b/support-files/mariadb.service.in
index 8d43b6d..56ccb1a 100644
--- a/support-files/mariadb.service.in
+++ b/support-files/mariadb.service.in
@@ -73,7 +73,7 @@ ExecStartPre=/bin/sh -c "[ ! -e @bindir@/galera_recovery ] && VAR= || \
&& systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1"
# Needed to create system tables etc.
-# ExecStartPre=@scriptdir@/mysql_install_db -u mysql
+ExecStartPre=@scriptdir@/mysql_install_db --user="mysql" --skip-test-db
# Start main service
# MYSQLD_OPTS here is for users to set in /etc/systemd/system/mariadb.service.d/MY_SPECIAL.conf
--
1.8.3.1

View File

@ -1,38 +0,0 @@
From bc8fd081680454b6b29cac8feb6774fd60b37eb5 Mon Sep 17 00:00:00 2001
From: eulerstorage <eulerstorage@huawei.com>
Date: Tue, 3 Mar 2020 17:24:08 +0800
Subject: [PATCH] skip some unstable test cases
---
mysql-test/unstable-tests | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests
index 9ea0ebc..99a328b 100644
--- a/mysql-test/unstable-tests
+++ b/mysql-test/unstable-tests
@@ -41,6 +41,7 @@ binlog.binlog_flush_binlogs_delete_domain : MDEV-14431
binlog.binlog_killed : MDEV-12925 - Wrong result
binlog.binlog_tmp_table_row : Added in 10.1.35, 10.2.17
binlog.binlog_xa_recover : MDEV-8517 - Extra checkpoint
+binlog.binlog_mysqlbinlog2 : Skip on ARM
binlog.load_data_stm_view : MDEV-16948 - Wrong result
binlog_tmp_table_row : Added in 10.3.9
@@ -346,11 +347,13 @@ main.events_2 : MDEV-13277
main.events_bugs : MDEV-12892 - Crash
main.events_restart : MDEV-12236 - Server shutdown problem
main.events_slowlog : MDEV-12821 - Wrong result
+main.events_1 : Skip on ARM
main.explain_slowquerylog : Modified in 10.2.16
main.func_json : Modified in 10.3.9
main.func_misc : Modified in 10.3.8
main.func_time_hires : Modified in 10.3.8
main.func_time : Modified in 10.3.9
+main.func_like : Skip on ARM
main.gis : MDEV-13411 - wrong result on P8
main.grant2 : Modified in 10.3.8
main.grant : Modified in 10.3.9
--
1.8.3.1

View File

@ -1,81 +0,0 @@
From ea4fbf5f164c60f736a5e987478dd1a4fc976371 Mon Sep 17 00:00:00 2001
From: eulerstorage <eulerstorage@huawei.com>
Date: Mon, 13 Jan 2020 17:35:50 +0800
Subject: [PATCH] Disable some unstable testcase
Some testcases are unstable, they will fail if the test environment
is not suitable, for example network is broken.
---
mysql-test/unstable-tests | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/mysql-test/unstable-tests b/mysql-test/unstable-tests
index 2c28c9a..9ea0ebc 100644
--- a/mysql-test/unstable-tests
+++ b/mysql-test/unstable-tests
@@ -262,6 +262,7 @@ innodb.truncate_purge_debug : Include fil
innodb.update_time : MDEV-14804 - Wrong result
innodb.undo_log : Include file modified in 10.2.17, 10.3.9
innodb.xa_recovery : MDEV-15279 - mysqld got exception
+innodb.innodb_defrag_binlog :
#-----------------------------------------------------------------------
@@ -389,6 +390,8 @@ main.mysql_upgrade_noengine : MDEV-14355
main.mysql_upgrade_ssl : MDEV-13492 - Unknown SSL error
main.olap : Modified in 10.3.8
main.openssl_1 : MDEV-13492 - Unknown SSL error
+main.openssl_6975 :
+main.ssl_cipher :
main.order_by_optimizer_innodb : MDEV-10683 - Wrong result
main.partition_debug_sync : MDEV-15669 - Deadlock found when trying to get lock
main.partition_innodb_plugin : MDEV-12901 - Valgrind warnings
@@ -418,6 +421,11 @@ main.ssl_ca : MDEV-10895
main.ssl_cert_verify : MDEV-13735 - Server crash
main.ssl_connect : MDEV-13492 - Unknown SSL error
main.ssl_timeout : MDEV-11244 - Crash
+main.ssl_7937 :
+main.ssl_crl_clients :
+main.ssl_8k_key :
+main.ssl :
+main.ssl_cipher :
main.statistics_close : Added in 10.3.8
main.statistics : Modified in 10.3.8
main.stat_tables : Modified in 10.1.35, 10.2.17, 10.3.9
@@ -523,6 +531,7 @@ parts.partition_exch_qa_10 : MDEV-11765
parts.partition_innodb_status_file : MDEV-12901 - Valgrind
parts.partition_special_innodb : MDEV-16942 - Timeout
parts.truncate_locked : Added in 10.1.35, 10.2.17, 10.3.9
+parts.partition_alter4_innodb :
#-----------------------------------------------------------------------
@@ -549,6 +558,9 @@ perfschema.stage_mdl_global : MDEV-11803
perfschema.stage_mdl_procedure : MDEV-11545 - Missing row
perfschema.stage_mdl_table : MDEV-12638 - Wrong result
perfschema.threads_mysql : MDEV-10677 - Wrong result
+perfschema.nesting :
+perfschema.socket_summary_by_instance_func :
+perfschema.cnf_option :
#-----------------------------------------------------------------------
@@ -716,6 +728,7 @@ rpl.rpl_temporary_error2 : MDEV-10634
rpl.sec_behind_master-5114 : MDEV-13878 - Wrong result
rpl/extra/rpl_tests.* : MDEV-10994 - Not maintained
+rpl.rpl_connection :
#-----------------------------------------------------------------------
@@ -769,6 +782,7 @@ sys_vars.slow_query_log_func : MDEV-14273
sys_vars.sysvars_innodb : Modified in 10.3.8
sys_vars.thread_cache_size_func : MDEV-11775 - Wrong result
sys_vars.wait_timeout_func : MDEV-12896 - Wrong result
+sys_vars.slave_parallel_threads_basic :
#-----------------------------------------------------------------------
--
1.8.3.1

View File

@ -1,20 +1,18 @@
%global runtest 0
Name: mariadb
Version: 10.3.9
Release: 12
Version: 10.3.34
Release: 1
Epoch: 3
Summary: One of the most popular database servers
License: GPLv2 with exceptions and LGPLv2 and BSD
URL: http://mariadb.org
Source0: https://downloads.mariadb.org/interstitial/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Source0: https://downloads.mariadb.com/MariaDB/mariadb-%{version}/source/mariadb-%{version}.tar.gz
Patch0001: disable-some-unstable-testcases.patch
Patch0002: add-install-db-command.patch
Patch0003: disable-some-unstable-testcases-2.patch
Patch0004: CVE-2020-15180.patch
Patch0005: CVE-2021-27928.patch
Patch0001: 0001-disable-some-unstable-testcases.patch
Patch0002: 0002-add-install-db-command.patch
Patch0003: 0003-disable-some-unstable-testcases-2.patch
BuildRequires: selinux-policy-devel, cmake, gcc-c++
BuildRequires: systemd, systemd-devel
@ -290,7 +288,6 @@ cmake -L
ln -s mysql_config.1.gz %{buildroot}%{_mandir}/man1/mariadb_config.1.gz
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mv %{buildroot}/%{_datadir}/pkgconfig/*.pc %{buildroot}/%{_libdir}/pkgconfig
install -p -m 644 Docs/INFO_SRC %{buildroot}%{_libdir}/%{name}/
install -p -m 644 Docs/INFO_BIN %{buildroot}%{_libdir}/%{name}/
@ -304,11 +301,9 @@ mkdir -p %{buildroot}%{_rundir}/%{name}
install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql
mv %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{name}-server.cnf
mv %{buildroot}%{_sysusersdir}/sysusers.conf %{buildroot}%{_sysusersdir}/%{name}.conf
rm %{buildroot}%{_sysconfdir}/init.d/mysql
rm %{buildroot}%{_libexecdir}/rcmysql
rm %{buildroot}%{_tmpfilesdir}/tmpfiles.conf
echo "d %{_rundir}/%{name} 0755 mysql mysql -" >>%{buildroot}%{_tmpfilesdir}/%{name}.conf
mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
@ -354,10 +349,11 @@ rm %{buildroot}%{_includedir}/mysql/{mysql_version.h,errmsg.h,ma_list.h,ma_pvio.
mariadb_ctype.h,mariadb_dyncol.h,mariadb_stmt.h,mariadb_version.h,ma_tls.h,mysqld_error.h,mysql.h}
rm -r %{buildroot}%{_includedir}/mysql/{mariadb,mysql}
rm %{buildroot}%{_mandir}/man1/tokuft*
rm -r %{buildroot}%{_datadir}/sql-bench
mkdir -p %{buildroot}/%{_libdir}/security/
mv %{buildroot}/lib64/security/pam_user_map.so %{buildroot}/%{_libdir}/security/pam_user_map.so
%check
@ -498,6 +494,9 @@ fi
%{_libdir}/%{name}/INFO_*
%exclude %{_libdir}/%{name}/plugin/ha_oqgraph.so
%{_libdir}/security/pam_user_map.so
%{_sysconfdir}/security/user_map.conf
%{_mandir}/man1/aria*
%{_mandir}/man1/galera*
%{_mandir}/man1/mariadb-service-convert.1*
@ -521,6 +520,10 @@ fi
%{_mandir}/man1/replace.1*
%{_mandir}/man1/resolve*
%{_mandir}/man1/wsrep_*.1*
%{_mandir}/man1/mariabackup.1.gz
%{_mandir}/man1/mbstream*
%{_mandir}/man1/mysql_embedded*
%{_mandir}/man1/mysql_ldb*
%{_mandir}/man8/mysqld.8*
%{_datadir}/%{name}/*.sql
@ -557,6 +560,7 @@ fi
%{_includedir}/*
%{_datadir}/aclocal/mysql.m4
%{_libdir}/pkgconfig/mariadb.pc
%{_libdir}/pkgconfig/libmariadb.pc
%files oqgraph-engine
@ -601,18 +605,41 @@ fi
%changelog
* Tue Jul 27 2021 bzhaoop<bzhaojyathousandy@gmail.com> -3:10.3.9-12
* Wed Fed 23 2022 bzhaoop<bzhaojyathousandy@gmail.com> - 3:10.3.34-1
- Bump version to latest 10.3.34 version
- For resolving the CVEs, which includes:
- CVE-2021-46659
- CVE-2021-46664
- CVE-2021-46665
- CVE-2021-46663
- CVE-2021-46662
- CVE-2021-46666
- CVE-2021-46667
- CVE-2021-46661
- CVE-2021-46669
- CVE-2021-46657
- Above all CVEs needs to bump to the latest version for resolve.
- Refresh all patches relies on the latest tar package.
* Tue Jul 27 2021 bzhaoop<bzhaojyathousandy@gmail.com> -3:10.3.9-13
- Increase the build speed
* Tue Jun 29 2021 bzhaoop <bzhaojyathousandy@gmail.com> - 3:10.3.9-11
* Mon Apr 26 2021 bzhaoop<bzhaojyathousandy@gmail.com> -3:10.3.9-12
- Fix CVE-2021-27928
* Mon Jun 28 2021 bzhaoop <bzhaojyathousandy@gmail.com> - 3:10.3.9-10
- Fix CVE-2020-15180
* Thu Aug 18 2020 xinghe <xinghe1@huawei.com> - 3:10.3.9-9
* Tue Sep 8 2020 lihaotian<lihaotian9@huawei.com> -3:10.3.9-11
- Update the source0 url
* Fri Jul 10 2020 volcanodragon<linfeilong@huawei.com> -3:10.3.9-10.1
- Rename patch names
* Thu Aug 18 2020 xinghe <xinghe1@huawei.com> - 3:10.3.9-9.2
- Add release version for update
* Fri Jul 3 2020 jinzhimin<jinzhimin2@huawei.com> -3:10.3.9-9.1
- Add conflict between mysql
* Mon Mar 2 2020 steven <steven_ygui@163.com> - 3:10.3.9-8
- Add requires exclude for perls and skip some test cases

4
mariadb.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: MariaDB/server
tag_prefix: "mariadb-"
seperator: "."