On 01/14/2016 04:08 PM, Mark Reynolds wrote:
On 01/14/2016 09:42 AM, 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-ope...
>
Looks good. Just to clarify when you say "Define a configuration
parameter for backend entries:" do you mean "Define a configuration
parameter for backend *plugins*:"?
yes, it should be more clear, I mean
something like:
dn: cn=changelog,cn=ldbm database,cn=plugins,cn=config
....
nsslapd-suffix: cn=changelog
nsslapd-cachesize: -1
nsslapd-no-plugins: on
nsslapd-cachememsize: 2097152
nsslapd-readonly: off