adamwill / 389-ds-base

Forked from 389-ds-base 4 years ago
Clone

3c8c692 Ticket 49401 - improve valueset sorted performance on delete

1 file Authored by Mohammad Nweider 6 years ago, Committed by mreynolds 6 years ago,
    Ticket 49401 - improve valueset sorted performance on delete
    
    Bug Description:  valueset sorted maintains a list of syntax sorted
    references to the attributes of the entry. During addition these are
    modified and added properly, so they stay sorted.
    
    However, in the past to maintain the sorted property, during a delete
    we would need to remove the vs->sorted array, and recreate it via qsort,
    
    While this was an improvement from past (where we would removed
    vs->sorted during an attr delete), it still has performance implications
    on very very large datasets, IE 50,000 member groups with
    addition/deletion, large entry caches and replication.
    
    Fix Description:  Implement a new algorithm that is able to maintain
    existing sort data in a near linear time.
    
    https://pagure.io/389-ds-base/issue/49401
    
    Author: nweiderm, wibrown
    
    Review by: wibrown, lkrispen, tbordaz (Thanks nweiderm!)
    
    (cherry picked from commit a43a8efc7907116146b505ac40f18fac71f474b0)
    
        
file modified
+102 -69