4b8fc4b Ticket 49495 - Fix memory management is vattr.

Authored and Committed by William Brown 2 years ago
    Ticket 49495 - Fix memory management is vattr.
    Bug Description:  During the fix for
    https://pagure.io/389-ds-base/issue/49436 a issue was exposed
    in how registration of attributes to cos work. With the change
    to handle -> attr link, this exposed that cos treats each attribute
    and template pair as a new type for the handle. As  aresult, this
    caused the sp_list to create a long linked list of M*N entries
    for each attr - template value. Obviously, this is extremely
    slow to traverse during a search!
    Fix Description:  Undo part of the SLL next change and convert
    to reference counting. The issue remains that there is a defect
    in how cos handles attribute registration, but this can not be
    resolved without a significant rearchitecture of the code
    related to virtual attributes.
    Author: wibrown
    Review by: tbordaz, lkrispen (Thanks!)
file modified
+21 -2