adamwill / 389-ds-base

Forked from 389-ds-base 4 years ago
Clone

5510e70 Ticket #47348 - add etimes to per second/minute stats

Authored and Committed by rmeggins 10 years ago
    Ticket #47348 - add etimes to per second/minute stats
    
    https://fedorahosted.org/389/ticket/47348
    Reviewed by: mreynolds (Thanks!)
    Branch: 389-ds-base-1.3.1
    Fix Description: Add an "ElapsedTime" column to the -m/-M output.  This column
    is the cumulative etimes of all operations during that time period.
    Platforms tested: RHEL6 x86_64
    Flag Day: no
    Doc impact: yes
    (cherry picked from commit 9813b219ad2aa7b7194d9295dd529e12889a8534)
    
    Ticket #47349 - DS instance crashes under a high load
    
    https://fedorahosted.org/389/ticket/47349
    Reviewed by: nkinder (Thanks!)
    Branch: 389-ds-base-1.3.1
    Fix Description: handle_new_connection initializes the connection object,
    then calls connection_table_move_connection_on_to_active_list to put it
    on the list of active connections, then unlocks the c_mutex, then calls
    connection_new_private to allocate c_private.  If another thread
    interrupts after the conn has been moved to the active list, but before
    c_private has been allocated, the new conn will be available via
    connection_table_iterate_active_connections where table_iterate_function
    will attempt to dereference the NULL c_private.
    The fix is to move connection_new_private inside the c_mutex lock, and to
    move connection_table_move_connection_on_to_active_list to be the very last
    thing before releasing the c_mutex lock.  Once the conn is on the active
    list it is live and we cannot do anything else to it.
    Note: I have still not been able to reproduce the problem in a non-debug
    optimized build.
    Platforms tested: RHEL6 x86_64
    Note: Before patch, server would crash within 5 minutes.  After patch, server
    has been running for several days in customer environment.
    Flag Day: no
    Doc impact: no
    (cherry picked from commit 05d209432571dc64b242ae47113ae4cbb43607d2)
    (cherry picked from commit c7fc203ffe09809e430ff1217ec352db95d636a0)
    (cherry picked from commit 02a70f7e8f3bf5deac9039b51c31a206e628e9e1)
    
        
file modified
+19 -3