On Thu, 2016-01-14 at 15:42 +0100, Ludwig Krispenz wrote:
We had many issues with the retro changelog plugin. The main reason
is
that the retro CL is a separate backend and if there is more than
one
regular backend it is easy to run into deadlocks, eg a change in
backend
A triggers and ADD in theh RCL, in the add a plugin might want to
access
backend B, but there was a change in backend B and it waits for the
RCL
lock and both threads are blocked.
All the scenrios so far could be resolved, by scoping the plugins to
ignore changes in the retro CL, but it is tedious and in my opinion
operations on the retro changelog should not be seen by plugins at
all.
I propose a simple configuration an processing change to allow to
ignore
plugins for specific backends, please have a look at:
http://www.port389.org/docs/389ds/design/exclude-backends-from-plugin
-operations.html
Can we keep the configuration names consistent? I would rather the flag
be:
nsslapd-allow-plugin-operations: true/false
The flag is clearer about the function, and doesn't have the whole
"well it says no, so should it be true which actually means false ..."
--
Sincerely,
William Brown
Software Engineer
Red Hat, Brisbane