[Commits] [Commit] 90f6f65634a: MDEV-15889 Semisync ack thread hits an LOCK_plugin assert at shutdown

andrei.elkin at pp.inet.fi andrei.elkin at pp.inet.fi
Mon Apr 16 21:00:52 EEST 2018


Sergei, hello.

Here is a patch for a different issue that the former MDEV-15796
shadowed. This time dependency between the plugin and not-plugin-anymore
semisync plays at shutdown.
I hope you'll find time to review.

Many thanks!

Andrei


revision-id: 90f6f65634a3245290b473f2bb65810cb9f2f18b (mariadb-10.3.6-7-g90f6f65634a)
parent(s): dbbe70e1cfe9d7635d9dba774a2c9dc61163b542
author: Andrei Elkin
committer: Andrei Elkin
timestamp: 2018-04-16 20:37:10 +0300
message:

MDEV-15889 Semisync ack thread hits an LOCK_plugin assert at shutdown

MDEV-13073 effectively made the master semisync component depending on
the plugin one through instantiation of THD by its Ack thread.
The thread therefore must be closing its resources prior to
plugin_shutdown(), which was not the case.

Fixed with implementing the requirement.

---
 sql/mysqld.cc | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 2db3bbe1bac..6e1a5997e15 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2240,14 +2240,14 @@ void clean_up(bool print_message)
   lex_free();				/* Free some memory */
   item_create_cleanup();
   tdc_start_shutdown();
+#ifdef HAVE_REPLICATION
+  semi_sync_master_deinit();
+#endif
   plugin_shutdown();
   udf_free();
   ha_end();
   if (tc_log)
     tc_log->close();
-#ifdef HAVE_REPLICATION
-  semi_sync_master_deinit();
-#endif
   xid_cache_free();
   tdc_deinit();
   mdl_destroy();


More information about the commits mailing list