Bug Description:
The hang condition:
- is not systematic
- occurs in rare case, for example here during the deletion of a replica.
- a thread is waiting for a dblock that an other thread "forgot" to
release.
- have always existed, at least since 1.4.0 but likely since 1.2.x
Fix description:
Ideally mapping tree should be protected by a lock but it
is not done systematically (e.g. slapi_get_mapping_tree_node).
Using a lock looks an overkill and can probably introduce
deadlock and performance hit.
The idea of the fix is to reduce the window, moving the
mapping tree clear before the changelog removal.
Bug Description:
The hang condition:
- is not systematic
- occurs in rare case, for example here during the deletion of a replica.
- a thread is waiting for a dblock that an other thread "forgot" to
release.
- have always existed, at least since 1.4.0 but likely since 1.2.x
Fix description:
Ideally mapping tree should be protected by a lock but it
is not done systematically (e.g. slapi_get_mapping_tree_node).
Using a lock looks an overkill and can probably introduce
deadlock and performance hit.
The idea of the fix is to reduce the window, moving the
mapping tree clear before the changelog removal.
https://pagure.io/389-ds-base/issue/50745
Reviewed by: ?