Bug #81304 ndbcluster ndb_mutex_t wrapper
Submitted: 4 May 2016 8:41 Modified: 31 May 2016 7:52
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:7.5.2 OS:Any
Assigned to: CPU Architecture:Any

[4 May 2016 8:41] Magnus Blåudd
Description:
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 make s it impossible to use for example the safe_mutex functionalitt which can help find cases where  dependent locks are held or not.

How to repeat:
MCI

Suggested fix:
Implement a ndb_mutex_t wrapper to be used by most mutexes in ha_ndbcluster . The ndb_mutex_t wrapper shoudl target the my_mutex_t layer in the mysys stack and thus benefit from safemutex when possible. The ndb_mutex_t will not be performance schema instrumented like mysql_mutex_t.
[31 May 2016 7:52] Jon Stephens
Fixed in NDB 7.5.3. Changes were internal/refactoring and not user facing. Closed without further action.