-
Magnus Blåudd authored
- In MySQL Server 5.7 the mutex and condition was refactored into three layers of mutex types available from mysys. This caused all ndbcluster code using pthread_mutex_t to start using the native_mutex_t instead. This change causes merge conflicts all the time and also makes it impossible to use for example the safe_mutex functionality which can help find cases where dependent locks are held or not. - Fix by changing to use mysql_mutex_t in ha_ndbcluster. The mutexes will not be performance schema instrumented at this time. - Move mutex initializers in Ndb_index_stat_thread and Ndb_util_thread which are "static global" to do_init() so that they are created after the safe mutex functionality is initialized. Corresponding change to deinit function.
Magnus Blåudd authored- In MySQL Server 5.7 the mutex and condition was refactored into three layers of mutex types available from mysys. This caused all ndbcluster code using pthread_mutex_t to start using the native_mutex_t instead. This change causes merge conflicts all the time and also makes it impossible to use for example the safe_mutex functionality which can help find cases where dependent locks are held or not. - Fix by changing to use mysql_mutex_t in ha_ndbcluster. The mutexes will not be performance schema instrumented at this time. - Move mutex initializers in Ndb_index_stat_thread and Ndb_util_thread which are "static global" to do_init() so that they are created after the safe mutex functionality is initialized. Corresponding change to deinit function.
Loading