Skip to content
  • Marc Alff's avatar
    3b1e63ad
    Bug#22517278 UPDATE SETUP_INSTRUMENTS DO NOT AFFECT THE GLOBAL · 3b1e63ad
    Marc Alff authored
    MUTEX/RWLOCK/COND
    
    Contribution by zhang yingqiang.
    
    Before this fix, some objects in the server could be in one of 3 states,
    for the performance schema instrumentation:
    - (1) not instrumented at all,
    - (2) instrumented with instrumentation disabled
    - (3) instrumented with instrumentation enabled.
    
    Changing between states (2) and (3) can be done using
      UPDATE performance_schema.setup_instruments set ENABLED = ...
    and is the desired behavior.
    
    Some ojects, global to the server, could end up in state (1)
    if the instrumentation is disabled when the server starts.
    
    State (1) is not desirable, as enabling / disabling the instruments
    once state (1) is reached has no effect.
    
    With this fix, code that leads to state (1) has been removed,
    so that an object is always instrumented when initialized.
    
    The instruments affected by this fix are:
    - mutex instances,
    - rwlock instances,
    - cond instances,
    - socket instances.
    
    Affected instances are the global mutexes / rwlocks / conditions and the
    socket listening point, that are global to the server, and initialized very
    early during the server start.
    3b1e63ad
    Bug#22517278 UPDATE SETUP_INSTRUMENTS DO NOT AFFECT THE GLOBAL
    Marc Alff authored
    MUTEX/RWLOCK/COND
    
    Contribution by zhang yingqiang.
    
    Before this fix, some objects in the server could be in one of 3 states,
    for the performance schema instrumentation:
    - (1) not instrumented at all,
    - (2) instrumented with instrumentation disabled
    - (3) instrumented with instrumentation enabled.
    
    Changing between states (2) and (3) can be done using
      UPDATE performance_schema.setup_instruments set ENABLED = ...
    and is the desired behavior.
    
    Some ojects, global to the server, could end up in state (1)
    if the instrumentation is disabled when the server starts.
    
    State (1) is not desirable, as enabling / disabling the instruments
    once state (1) is reached has no effect.
    
    With this fix, code that leads to state (1) has been removed,
    so that an object is always instrumented when initialized.
    
    The instruments affected by this fix are:
    - mutex instances,
    - rwlock instances,
    - cond instances,
    - socket instances.
    
    Affected instances are the global mutexes / rwlocks / conditions and the
    socket listening point, that are global to the server, and initialized very
    early during the server start.
Loading