Currently all ldap requests are handled by a generic worker thread (conenction_threadmain). But if all are serving a mod/add/del then they serialize on the backend lock and could starve all other operations which do not need this lock (bind, search, ..). In many situations the overall thruput could be increased if there would be sperate thread pools for read and write operations
Metadata Update from @lkrispen: - Issue assigned to rmeggins - Issue set to the milestone: FUTURE
This is an interesting idea, but I wonder how we would achieve it. This would mean we have to have a chain of something like:
1) read from the conn and parse the operation 2) put the operation back into the work queue 3) thread for "type" of work grabs the op from the work queue 4) process the operation
So the risk is that we have extra work queue operations here to add / remove the op, but it does seem this would "work" well we the future ideas we have about read / write txns.
The challenge would be how we would make this work with nunc-stans. Do we run multiple NS instances? Or do we have on NS instance and it can handle multiple queues? What's an acceptable number of "writers" to run in parallel? readers? What about bind ops (they are a read with a post write in some cases).
I think we should get past transactional operations first, but then investigate this, because it may help with the scheme we are working towards.
Metadata Update from @firstyear: - Issue close_status updated to: None
Metadata Update from @mreynolds: - Assignee reset - Custom field reviewstatus adjusted to None - Issue set to the milestone: 1.4.5 (was: FUTURE)
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/566
If you want to receive further updates on the issue, please navigate to the github issue and click on subscribe button.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix - Issue status updated to: Closed (was: Open)