-
Pekka Nousiainen authored
Rewrite index stats loop so that required objects, Ndb in particular, can be checked in each processing slice. On system restart (initial or gci gap) binlog thread sets ndb_index_stat_restart flag. Stats thread when waking up again then re-creates or re-discovers required objects. This however leaves a gap where clients can make queries before stats thread is ready (error 4721). Second part of the fix is to prevent clients before stats thread is ready. This also means that mysqld with index stats enabled will not start before stats thread is ready. Previously this was more sloppy, any problems probably masked by delays etc. Clients discover stats thread state from the "allow" field in Ndb_index_stat_status. This needs to be checked on cluster (initial) restart and also is index stats enable has been turned off and on again. Known cases in MTR have been fixed.
Pekka Nousiainen authoredRewrite index stats loop so that required objects, Ndb in particular, can be checked in each processing slice. On system restart (initial or gci gap) binlog thread sets ndb_index_stat_restart flag. Stats thread when waking up again then re-creates or re-discovers required objects. This however leaves a gap where clients can make queries before stats thread is ready (error 4721). Second part of the fix is to prevent clients before stats thread is ready. This also means that mysqld with index stats enabled will not start before stats thread is ready. Previously this was more sloppy, any problems probably masked by delays etc. Clients discover stats thread state from the "allow" field in Ndb_index_stat_status. This needs to be checked on cluster (initial) restart and also is index stats enable has been turned off and on again. Known cases in MTR have been fixed.
Loading