Skip to content
  • Sujatha Sivakumar's avatar
    1fbfab58
    Bug#21485997: WRONG INSTRUMENTATION OF CLASS GTID_SET · 1fbfab58
    Sujatha Sivakumar authored
    Analysis:
    ========
    At runtime, some GTID_SET objects are instrumented with a
    performance schema mutex key of 0, which is incorrect (not
    instrumented).
    
    The root cause is the declaration of constructors, like:
    
    Gtid_set(Sid_map *sid_map, Checkable_rwlock *sid_lock= NULL
    #ifdef HAVE_PSI_INTERFACE
            ,PSI_mutex_key free_intervals_mutex_key= 0
    #endif
            );
    
    The issue is giving a default value of 0 when the mutex key
    is not passed. This allows some caller to not pass any key,
    causing a bug.
    
    
    Fix:
    ===
    Moved the PSI_mutex_key from Gtid_state class to Gtid_set
    class.
    1fbfab58
    Bug#21485997: WRONG INSTRUMENTATION OF CLASS GTID_SET
    Sujatha Sivakumar authored
    Analysis:
    ========
    At runtime, some GTID_SET objects are instrumented with a
    performance schema mutex key of 0, which is incorrect (not
    instrumented).
    
    The root cause is the declaration of constructors, like:
    
    Gtid_set(Sid_map *sid_map, Checkable_rwlock *sid_lock= NULL
    #ifdef HAVE_PSI_INTERFACE
            ,PSI_mutex_key free_intervals_mutex_key= 0
    #endif
            );
    
    The issue is giving a default value of 0 when the mutex key
    is not passed. This allows some caller to not pass any key,
    causing a bug.
    
    
    Fix:
    ===
    Moved the PSI_mutex_key from Gtid_state class to Gtid_set
    class.
Loading