78567d7 Issue 50538 - cleanAllRUV task limit is not enforced for replicated tasks

Authored and Committed by mreynolds 4 years ago
    Issue 50538 - cleanAllRUV task limit is not enforced for replicated tasks
    
    Bug Description:
    
    There is a hard limit of 64 concurrent cleanAllRUV tasks, but this limit is
    only enforced when creating "new" tasks. It was not enforced when a task was
    received via an extended operation. There were also race conditions in the
    existing logic that allowed the array of cleaned rids to get corrupted . This
    allowed for a very large number of task threads to be created.
    
    Fix Description:
    
    Maintain a new counter to keep track of the number of clean and abort threads
    to make sure it never over runs the rid array buffers.
    
    relates: https://pagure.io/389-ds-base/issue/50538
    
    Reviewed by: lkrispenz(Thanks!)