Hi Sergei,
--- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2159,6 +2159,7 @@ bool dispatch_command(enum enum_server_command command, THD *thd, } DBUG_PRINT("quit",("Got shutdown command for level %u", level)); general_log_print(thd, command, NullS); + DBUG_EXECUTE_IF("shutdown_unireg_abort", { unireg_abort(1); });
what's the point of this test?
I have a debug test for wsrep_close_connections and this will cause it to be run
+/* This is wrapper for wsrep_break_lock in thr_lock.c */ +static int wsrep_thr_abort_thd(void *bf_thd_ptr, void *victim_thd_ptr, my_bool signal)
When is it called? Under what conditions?
BF here is TOI and victim is not. However, I could not find a single test case that would cause this code to be executed. Not sure if it even needed. I asked Seppo
+ /* Here we need to lock THD::LOCK_thd_data to protect from + concurrent usage or disconnect or delete. */ + DEBUG_SYNC(bf_thd, "wsrep_before_BF_victim_lock"); + my_sleep(100000);
Eh? Forgot to remove after debugging?
No, I did not, This was added for Rames to test with pquery R: Jan