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-operations.html
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
Regards,
Ludwig
--
389-devel mailing list
389-devel@%(host_name)s
http://lists.fedoraproject.org/admin/lists/389-devel@lists.fedoraproject.org
--
389-devel mailing list
389-devel@%(host_name)s
http://lists.fedoraproject.org/admin/lists/389-devel@lists.fedoraproject.org
--
389-devel mailing list
389-devel@%(host_name)s
http://lists.fedoraproject.org/admin/lists/389-devel@lists.fedoraproject.org