#573 investigate if operations under the backend lock could executed in parallel
Closed: wontfix by mreynolds. Opened by lkrispen.

The backend lock serializes the write operations for one backend and so sets a limit to the overall modrate by the time this lock is hold for a single operation.
Inside the backend lock there are tasks, which are independent of each other, eg update id2entry, update indexes, write changelog and ruv, ..
We should investigate if it is possible to execute that in parallel, the import code could be a model, where several threads handle differnt tasks, communicating over a queue.
If this can be done without too much overhead, the time the backend lock is held could be reduced.


Note that the import code already does something like this - it creates a thread for each attribute/index

achieve this with mdb?

Could also achieve this with bdb using MVCC - but there is the entry/dn cache per transaction problem

Metadata Update from @nhosoi:
- Issue assigned to rmeggins
- Issue set to the milestone: 1.4 backlog

Metadata Update from @firstyear:
- Issue assigned to firstyear (was: rmeggins)

Not relevant in LMDB

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to None
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/573

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata