Hello,
this patch solves performance problems with retro change log trimming.
It has to go to the same branches as Ana's patch 0079 Enable Retro Changelog
and Content Synchronization DS plugins.
--
Petr^2 Spacek
From dd724a720289b45c82716123fd991621047b6c63 Mon Sep 17 00:00:00 2001
From: Petr Spacek pspa...@redhat.com
Date: Thu, 23 Jan 2014 12:22:38 +0100
Subject: [PATCH] Limit memberOf and refInt DS plugins to main IPA suffix.
This drastically improves performance of retro changelog trimming.
https://fedorahosted.org/freeipa/ticket/3967
---
freeipa.spec.in| 6 +++---
install/updates/20-syncrepl.update | 13 -
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 03e53611cf1abc8bdcb6b10808a03c64b4bc6626..2f7eaa75498210ddee8242802c429e11c2809ba4 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -21,7 +21,7 @@ Source0:freeipa-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if ! %{ONLY_CLIENT}
-BuildRequires: 389-ds-base-devel = 1.3.1.3
+BuildRequires: 389-ds-base-devel = 1.3.2.10
BuildRequires: svrcore-devel
BuildRequires: policycoreutils = %{POLICYCOREUTILSVER}
BuildRequires: systemd-units
@@ -97,7 +97,7 @@ Group: System Environment/Base
Requires: %{name}-python = %{version}-%{release}
Requires: %{name}-client = %{version}-%{release}
Requires: %{name}-admintools = %{version}-%{release}
-Requires: 389-ds-base = 1.3.1.3
+Requires: 389-ds-base = 1.3.2.10
Requires: openldap-clients 2.4.35-4
%if 0%{?fedora} == 18
Requires: nss = 3.14.3-2
@@ -153,7 +153,7 @@ Requires: zip
Requires: policycoreutils = %{POLICYCOREUTILSVER}
Requires: tar
Requires(pre): certmonger = 0.65
-Requires(pre): 389-ds-base = 1.3.1.3
+Requires(pre): 389-ds-base = 1.3.2.10
Requires: fontawesome-fonts
Requires: open-sans-fonts
diff --git a/install/updates/20-syncrepl.update b/install/updates/20-syncrepl.update
index c4158a1634410acd323f04f442bbbd2f69c24708..7e944a3fce044e376d345139c94e6815234d3063 100644
--- a/install/updates/20-syncrepl.update
+++ b/install/updates/20-syncrepl.update
@@ -1,9 +1,20 @@
-# Enable Retro changelog
+# Enable Retro changelog - is is necessary for SyncRepl
dn: cn=Retro Changelog Plugin,cn=plugins,cn=config
only:nsslapd-pluginEnabled: on
+# Remember original nsuniqueid for objects referenced from cn=changelog
add:nsslapd-attribute: nsuniqueid:targetUniqueId
add:nsslapd-changelogmaxage: 2d
+# Keep memberOf and referential integrity plugins away from cn=changelog.
+# It is necessary for performance reasons because we don't have appropriate
+# indices for cn=changelog.
+dn: cn=MemberOf Plugin,cn=plugins,cn=config
+add:memberofentryscope: '$SUFFIX'
+
+dn: cn=referential integrity postoperation,cn=plugins,cn=config
+add:nsslapd-plugincontainerscope: '$SUFFIX'
+add:nsslapd-pluginentryscope: '$SUFFIX'
+
# Enable SyncRepl
dn: cn=Content Synchronization,cn=plugins,cn=config
only:nsslapd-pluginEnabled: on
--
1.8.4.2
___
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel