diff options
author | Jan Lindström <jan.lindstrom@mariadb.com> | 2021-11-01 13:07:55 +0200 |
---|---|---|
committer | Jan Lindström <jan.lindstrom@mariadb.com> | 2021-11-02 10:25:52 +0200 |
commit | 7846c56fbec72941abd8bada25ac63fc4eb94552 (patch) | |
tree | 87d678d95ee981e9e1587d2eac2c02dbbb40e395 | |
parent | cb5b3230d84c24d373e761ada6cb38055015d5ca (diff) | |
download | mariadb-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.result | 10 | ||||
-rw-r--r-- | mysql-test/suite/galera/t/galera_ssl_upgrade.test | 10 | ||||
-rw-r--r-- | sql/sql_parse.cc | 6 |
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 */ } |