1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-23328 Server hang due to Galera lock conflict resolution

* Fix error handling NULL-pointer reference
* Add mtr-suppression on galera_ssl_upgrade
This commit is contained in:
Jan Lindström
2021-11-01 13:07:55 +02:00
parent cb5b3230d8
commit 7846c56fbe
3 changed files with 17 additions and 9 deletions

View File

@ -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():.*");

View File

@ -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():.*");

View File

@ -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 */
}