On Sun, Sep 7, 2008 at 4:32 AM, Howard Chu <hyc@symas.com> wrote:
But the more general problem - yes, there needs to be a piece of code that keeps a list of (objectclass=subentry) and applies the relevant behaviors to each. Doing this correctly would introduce a quite different administrative model to the server, and would require quite a lot of architectural changes.

Overlays are single threaded, but can they themselves have private worker threads? I guess that this would depend how much the worker thread could do without using the overlay's (single threaded) callbacks / resources etc., and it would need to update the meta data in paralel so as to not block use of the meta information by the overlay proper (and lock access to pointers which might change when the metadata is updated).

Providing there is a thread safe mechanism between the overlay's private worker thread, the overlay-local metadata information and the overlay that used that local meta information, then might his be doable without tampering with the theadedness of the rest of the server ?

I think this metadata update might be done single threaded, but it would mean that if a query triggers or requires a meta data update, then the ldap requests on that thread would block until the metadata refresh was complete.

Cheers
Brett