[Pkg-openldap-devel] Bug#614569: slapd fails to dump/reload partial replica

Ferenc Wagner wferi at niif.hu
Wed Dec 3 17:14:39 UTC 2014


Ryan Tandy <ryan at nardis.ca> writes:

> On Tue, Dec 02, 2014 at 07:45:26PM +0100, Ferenc Wagner wrote:
>
>> I'm inclined to simply add that -s option.  If the database was schema-
>> correct, it will stay so, and it it wasn't, then upgrade isn't the best
>> time to point that out.  There isn't much to test on such a change.
>
> I don't like interrupting upgrades either, but if we don't check
> correctness during reloads, I don't know what other opportunity we
> have. I suppose you could argue it's the admin's concern and not ours.

Yes, that's my point.  The upgrade does not change schema validity, and
should not crash in either case.

>> Also, do you think some pre-agreement from the release team would be
>> needed before the upload?
>
> Yes, you'd definitely want a pre-approval (via an unblock request:
> reportbug release.debian.org, attach a source debdiff) before
> uploading (but after securing a sponsor).

I pushed my proposed change at a separate branch:
http://anonscm.debian.org/cgit/users/wferi-guest/openldap.git/log/?h=bug/614569
Reproducing it here:

commit 8a769204be90c1eaf7d5070c4e8a2d1eb18a82dc
Author: Ferenc Wágner <wferi at niif.hu>
Date:   Wed Dec 3 15:51:58 2014 +0100

    Disable schema checking for reloading the dumped data during upgrades
    
    This avoids interrupting the upgrade procedure of partial replicas (#614569).

diff --git a/debian/changelog b/debian/changelog
index 1fcc7f3..012df5d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+openldap (2.4.40-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Disable schema checking for reloading the dumped data during upgrades,
+    to avoid interrupting the upgrade procedure of partial replicas.
+    (Closes: #614569).
+
+ -- Ferenc Wágner <wferi at niif.hu>  Wed, 03 Dec 2014 15:35:44 +0100
+
 openldap (2.4.40-3) unstable; urgency=medium
 
   * Remove trailing spaces from slapd.templates.
diff --git a/debian/slapd.scripts-common b/debian/slapd.scripts-common
index f56b3b1..8cf7f7b 100644
--- a/debian/slapd.scripts-common
+++ b/debian/slapd.scripts-common
@@ -220,8 +220,11 @@ load_databases() {                                                 # {{{
                else
                        slapadd_opts="-g -F ${SLAPD_CONF}"
                fi
+               # Disable schema checking for the reload of the dumped data.
+               # Otherwise, reloading partial replicas fails, breaking the
+               # upgrade process.
                capture_diagnostics slapadd ${slapadd_opts} \
-                       -q -b "$suffix" -l "$file" || failed=1
+                       -q -b "$suffix" -l "$file" -s || failed=1
                if [ "$failed" ]; then
                        rm -f "$dbdir"/*
                        echo "failed." >&2

It behaved as expected in my tests.  Now I'm doing a full clean sbuild
with tests (which take LONG), but let me first try to get some review
here:

Would anybody please sponsor an NMU with the above change added to
2.4.40-3, if I happen to get the change pre-approved by the release
team?
-- 
Thanks,
Feri.



More information about the Pkg-openldap-devel mailing list