Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:
Description
As reported by Kristian:
MySQL reports: [Warning] Plugin 'PBXT' will be forced to shutdown
The bug has been repeated with MariaDB: lp:~maria-captains/maria/5.1-merge
Create a file "mysql-test/suite/pbxt/t/kn.test", with the following contents:
------------------------------ cut here ------------------------------
--skip "Test shutdown problem with skipped test"
------------------------------ cut here ------------------------------
Then enter:
cd mysql-test
perl mysql-test-run.pl --suite=pbxt pbxt.kn
Kristian says:
I get this in the mysqld.1.err:
CURRENT_TEST: pbxt.kn
091124 15:11:00 [Note] Plugin 'InnoDB' is disabled.
091124 15:11:00 [Note] PrimeBase XT (PBXT) Engine 1.0.08d RC loaded...
091124 15:11:00 [Note] Paul McCullagh, PrimeBase Technologies GmbH, http://www.primebase.org
091124 15:11:00 [Note] Event Scheduler: Loaded 0 events
091124 15:11:00 [Note] /home/knielsen/devel/maria/my/merge-5.1.41/sql/mysqld: ready for connections.
Version: '5.1.41-mariadb-beta-valgrind-max-debug-log' socket: '/home/knielsen/devel/maria/my/merge-5.1.41/mysql-test/var/tmp/mysqld.1.sock' port: 13000 Source distribution
091124 15:11:00 [Note] Got signal 15 to shutdown mysqld
091124 15:11:00 [Note] /home/knielsen/devel/maria/my/merge-5.1.41/sql/mysqld: Normal shutdown
091124 15:11:00 [Note] Event Scheduler: Purging the queue. 0 events
091124 15:11:00 [Warning] Plugin 'MyISAM' will be forced to shutdown
091124 15:11:00 [Warning] Plugin 'PBXT' will be forced to shutdown
091124 15:11:00 [Note] PrimeBase XT Engine shutdown...
091124 15:11:00 [Note] Debug sync points hit: 50
091124 15:11:00 [Note] Debug sync points executed: 0
091124 15:11:00 [Note] Debug sync points max active per thread: 0
091124 15:11:00 [Note] /home/knielsen/devel/maria/my/merge-5.1.41/sql/mysqld: Shutdown complete
This is from this tree on Launchpad containing the merge with MySQL 5.1.41:
lp:~maria-captains/maria/5.1-merge
The problem is that the ref_count of PBXT is 2 at shutdown time.
Maybe this is another problem with the way that PBXT has to do init in a
separate thread, I see you already had to solve some other possibly related
problems. Any ideas? It may be that this is something introduced in the merge
with MySQL 5.1.41, not 100% sure though as this particular warning was not
detected before in our Buildbot tests...
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Re: On shutdown MySQL reports: [Warning] Plugin 'PBXT' will be forced to shutdown
the problem happens when pbxt is the default storage engine. whenever a new thread starts (a thread that inits a THD instance) the following code is executed in function thd_init_vars or something like that (called from THD::THD):
2456 pthread_mutex_lock(&LOCK_plugin);
2457 thd->variables.table_plugin=
2458 my_intern_plugin_lock(NULL, global_system_variables.table_plugin);
2459 intern_plugin_unlock(NULL, old_table_plugin);
the problem is that pbxt starts its own worker threads that init corresponding THD instances. In some sense pbxt locks itself. to solve this problem we'd need to make another 'background' plugin that would shutdown all pbxt worker threads or have 2-phase shutdown on server side.