Issue 8858 - Walking the thread pool work queue
Summary: Walking the thread pool work queue
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: 2.5.0
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-21 14:26 UTC by Ondřej Kuzník
Modified: 2020-10-14 21:16 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Ondřej Kuzník 2018-05-21 14:26:31 UTC
Full_Name: Ondrej Kuznik
Version: master
OS: 
URL: https://github.com/mistotebe/openldap/tree/ITS8858
Submission from: (NULL) (82.10.24.68)


During reconfiguration, the load balancer might need to dispose of some
resources (connections, ...) as the new configuration invalidates their state.
Due to how pool pause is handled in libldap_r, tasks might still be queued in
there that reference those objects and need to be de-queued before we resume.

Most of the time, it is sufficient to record the cookie from pool_submit2 and
use pool_retract. At least in some phases of the load balancer implementation we
could have more than one task scheduled for the same object - with
reconfiguration being the rare case, optimising for it at the expense of the
common case does not feel right.

The linked patch is ready for review, it lets the caller examine the tasks with
a specified start_routine and have any of them retracted where appropriate.
Comment 1 OpenLDAP project 2018-11-01 18:12:37 UTC
Added to master
Comment 2 Quanah Gibson-Mount 2018-11-01 18:12:37 UTC
changed notes
changed state Open to Test
moved from Incoming to Software Enhancements