-
During a node restart, the
SUMA
block of the node that is starting must get a copy of the subscriptions (events with subscribers) and subscribers (NdbEventOperation
instances which are executing) from a node already running. Before the copy is complete, nodes which are still starting ignore any user-levelSUB_START
orSUB_STOP
requests; after the copy is done, they can participate in such requests. While the copy operation is in progress, user-levelSUB_START
andSUB_STOP
requests are blocked using aDICT
lock.An issue was found whereby a starting node could participate in
SUB_START
andSUB_STOP
requests after the lock was requested, but before it is granted, which resulted in unsuccessfulSUB_START
andSUB_STOP
requests. This fix ensures that the nodes cannot participate in these requests until after theDICT
lock has actually been granted. (Bug #31302657) The Dojo toolkit included with NDB Cluster and used by the Auto-Installer was upgraded to version 1.15.3. (Bug #31029110)
-
When executing any of the
SHUTDOWN
,ALL STOP
, orALL RESTART
management commands, it is possible for different nodes to attempt to stop on different global checkpoint index (CGI) boundaries. If they succeed in doing so, then a subsequent system restart is slower than normal because any nodes having an earlier stop GCI must undergo takeover as part of the process. When nodes failing on the first GCI boundary cause surviving nodes to be nonviable, surviving nodes suffer an arbitration failure; this has the positive effect of causing such nodes to halt at the correct GCI, but can give rise to spurious errors or similar.To avoid such issues, extra synchronization is now performed during a planned shutdown to reduce the likelihood that different data nodes attempt to shut down at different GCIs as well as the use of unnecessary node takeovers during system restarts. (Bug #31008713)