You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bug#30242141 MYSQLD HANGS INDEFINITELY AT STARTUP IF IT IS UNABLE TO ACQUIRE GSL
PROBLEM
=======
When doing alter, mysqld holds the Global Schema Lock(GSL) for the entire
time.
Until cluster-7.6, when a mysqld tried to connect to the cluster, it would
try to acquire the GSL during setup, if GSL is already acquired by another
mysqld, it waits for a particular amount of seconds, specified by the
ndb-wait-setup config and then starts the mysqld with out NDB.
In 8.0, well before the server calls the hook, which preforms the wait for
ndb-wait-setup, it makes some update to the DD, as a part of that, it tries
to acquire mdl on the table. This gets sent down to the NDB plugin via
ndbcluster_notify_exclusive_mdl() and it is stuck trying to acquire the GSL
on the table. So, even the time specified in ndb-wait-setup expires, mysqld
will not start and keeps waiting for GSL.
FIX
===
Fix by delaying the registration of all handler callback functions that
takes GSL until NDB startup is initiated.
Change-Id: Ibcdc93663e1730ceb6abc022ad0804ce796f397a
0 commit comments