Description
Is your feature request related to a problem? Please describe.
When an update of a static group changes
impacts a large portion of its members, memberof triggers
a large number of internal updates on members.
All the updates are done a same TXN that may hold
sensitive DB pages and block others SRCH req
waiting for those pages.
In extreme condition, all workers are stuck on
SRCH req waiting for the completion of the update.
Then the server appears unresponsive.
Describe the solution you'd like
The fix is to defer the update of the members.
So the update of the group is fast and impacts
few pages. Then update of members is done under
separated TXN.
Describe alternatives you've considered
This problem is specific to BDB because a write TXN taken on a page can block reader(s) until the total TXN is completed.
Because the core issue is TXN holding pages the only solution we found was to split the TXN
Additional context