Skip to content
  • Joao Gramacho's avatar
    cb943dbd
    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS · cb943dbd
    Joao Gramacho authored
    This patch introduces a small optimization on the automatic GNO
    assignment for automatic GTIDs.
    
    The previous approach was to get the first non-committed GNO as a
    starting point, and then to find the first GNO not owned by other
    transactions that reached the flush stage.
    
    The above described approach would result in the thread spending more
    time than needed while holding the sidno_lock for the server UUID.
    
    The optimization memorizes the last GNO assigned automatically and
    starts looking for available GNOs from that point.
    
    This patch also made Gtid_state::init to require global_sid_lock.wrlock
    instead of global_sid_lock.rdlock.
    cb943dbd
    BUG#24398760 GTIDS REDUCE PERFORMANCE ON WORKLOADS WITH MANY SMALL TRANSACTIONS
    Joao Gramacho authored
    This patch introduces a small optimization on the automatic GNO
    assignment for automatic GTIDs.
    
    The previous approach was to get the first non-committed GNO as a
    starting point, and then to find the first GNO not owned by other
    transactions that reached the flush stage.
    
    The above described approach would result in the thread spending more
    time than needed while holding the sidno_lock for the server UUID.
    
    The optimization memorizes the last GNO assigned automatically and
    starts looking for available GNOs from that point.
    
    This patch also made Gtid_state::init to require global_sid_lock.wrlock
    instead of global_sid_lock.rdlock.
Loading