summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2021-11-01 13:07:55 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2021-11-02 10:25:52 +0200
commit7846c56fbec72941abd8bada25ac63fc4eb94552 (patch)
tree87d678d95ee981e9e1587d2eac2c02dbbb40e395
parentcb5b3230d84c24d373e761ada6cb38055015d5ca (diff)
downloadmariadb-git-7846c56fbec72941abd8bada25ac63fc4eb94552.tar.gz
MDEV-23328 Server hang due to Galera lock conflict resolution
* Fix error handling NULL-pointer reference * Add mtr-suppression on galera_ssl_upgrade
-rw-r--r--mysql-test/suite/galera/r/galera_ssl_upgrade.result10
-rw-r--r--mysql-test/suite/galera/t/galera_ssl_upgrade.test10
-rw-r--r--sql/sql_parse.cc6
3 files changed, 17 insertions, 9 deletions
diff --git a/mysql-test/suite/galera/r/galera_ssl_upgrade.result b/mysql-test/suite/galera/r/galera_ssl_upgrade.result
index 134d1d1b605..9993b86e0e9 100644
--- a/mysql-test/suite/galera/r/galera_ssl_upgrade.result
+++ b/mysql-test/suite/galera/r/galera_ssl_upgrade.result
@@ -1,9 +1,9 @@
connection node_2;
connection node_1;
connection node_1;
-call mtr.add_suppression("WSREP: write_handler(): protocol is shutdown.*");
+call mtr.add_suppression("WSREP: write_handler().*");
connection node_2;
-call mtr.add_suppression("WSREP: write_handler(): protocol is shutdown.*");
+call mtr.add_suppression("WSREP: write_handler():.*");
connection node_1;
connection node_2;
connection node_1;
@@ -27,5 +27,7 @@ SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_N
VARIABLE_VALUE = 2
1
connection node_2;
-disconnect node_2;
-disconnect node_1;
+connection node_1;
+call mtr.add_suppression("WSREP: write_handler().*");
+connection node_2;
+call mtr.add_suppression("WSREP: write_handler():.*");
diff --git a/mysql-test/suite/galera/t/galera_ssl_upgrade.test b/mysql-test/suite/galera/t/galera_ssl_upgrade.test
index c4ad652a482..2c55238809f 100644
--- a/mysql-test/suite/galera/t/galera_ssl_upgrade.test
+++ b/mysql-test/suite/galera/t/galera_ssl_upgrade.test
@@ -9,9 +9,9 @@
--source include/have_ssl_communication.inc
--connection node_1
-call mtr.add_suppression("WSREP: write_handler(): protocol is shutdown.*");
+call mtr.add_suppression("WSREP: write_handler().*");
--connection node_2
-call mtr.add_suppression("WSREP: write_handler(): protocol is shutdown.*");
+call mtr.add_suppression("WSREP: write_handler():.*");
# Save original auto_increment_offset values.
--let $node_1=node_1
@@ -76,4 +76,8 @@ SELECT VARIABLE_VALUE = 2 FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_N
# Restore original auto_increment_offset values.
--source include/auto_increment_offset_restore.inc
---source include/galera_end.inc
+--connection node_1
+call mtr.add_suppression("WSREP: write_handler().*");
+--connection node_2
+call mtr.add_suppression("WSREP: write_handler():.*");
+
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 84ab136bb07..cdf7b0394a5 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -9463,7 +9463,9 @@ void sql_kill(THD *thd, longlong id, killed_state state, killed_type type)
#ifdef WITH_WSREP
return;
wsrep_error_label:
- my_error(ER_CANNOT_USER, MYF(0), wsrep_thd_query(thd));
+ error= (type == KILL_TYPE_QUERY ? ER_KILL_QUERY_DENIED_ERROR :
+ ER_KILL_DENIED_ERROR);
+ my_error(error, MYF(0), id);
#endif /* WITH_WSREP */
}
@@ -9498,7 +9500,7 @@ sql_kill_user(THD *thd, LEX_USER *user, killed_state state)
#ifdef WITH_WSREP
return;
wsrep_error_label:
- my_error(ER_CANNOT_USER, MYF(0), user->user.str);
+ my_error(ER_CANNOT_USER, MYF(0), user ? user->user.str : "NULL");
#endif /* WITH_WSREP */
}