[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4188) long-running tasks and back-config

On Sun, 2005-11-20 at 22:12 +0000, hyc@OpenLDAP.org wrote:

> Submitting a modify request to back-config while e.g. syncprov_qtask is active
> will prevent anything else from running until the syncprov_qtask completes. If a
> large number of database writes have occurred and the syncrepl persistent
> searches have a large backlog this can take a very long time. It may be better
> to have syncprov check to see if the thread pool is pausing, and let go and
> reschedule itself.
> A very long search would also be a problem.
> Suspending those threads and resuming them later isn't a good idea if the config
> changes eliminate those threads' underlying data...

A very long search (i.e. lots of candidates) could also check if the
thread pool is pausing; in case, instead of suspending, it could error
out with some LDAP_BUSY or so?  The point is determining how long is
"long"?  We shouldn't check at every single test_filter(), or drop a
search with 20 candidates because at candidate 2 a back-config update
was issued.


Ing. Pierangelo Masarati
Responsabile Open Solution

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it