Univention Bugzilla – Bug 17159
Umstellung von OpenLDAP auf entryCSN mit Mikrosekunden
Last modified: 2011-12-13 15:49:25 CET
Für Bug #16275 und Bug #16601 wurde die Umstellung des entryCSN-Attributs auf ein Format mit Mikrosekunden in OpenLDAP 2.4 deaktiviert: Unter svn/patches/openldap/2.3-0-0-ucs/2.4.15-1.1 * 70_revert_microsecond_patches.patch (keine Generierung neuer entryCSNs) * 71_OL23_entryCSN_validation.patch (keine Normalisierung vorgegebener entryCSNs auf neues Format mit Mikrosekunden und dreistelliger "rid"). Die "Microsecond"-Anpassungen sind wichtig für die Multi-Master Replikation. Aufwändig ist hier, dass OL23 (d.h. pre UCS 2.3-0) Systeme einen die neuen entryCSN zwar annehmen, aber davon falsche modifyTimestamps ableiten (fehlendes Z am Ende, failed.ldif). Man müsste also entweder per Release Notes sagen, dass kein OL23 mehr in der Domäne vorhanden sein darf, oder man könnte OL23 mit einem entsprechenden Patch für UCS 2.2 bereitstellen. [Ich schätze, dass durch Zeile 928 in servers/slapd/modify.c verursacht wird.] Der Patch 71_OL23_entryCSN_validation.patch sollte dafür sorgen, dass OL24 in UCS 2.3-0 sowohl das neue als auch das alte entryCSN Format als valid akzeptiert.
Die Patches * 70_revert_microsecond_patches.patch * 71_OL23_entryCSN_validation.patch sind jetzt DISABLED. Ein 2.4-0 Slave (i386) mit slapd_2.4.23-1.44.201007281521 konnte weiterhin erfolgreich gegen einen slapd_2.4.25-1.51.201105171211 (i386) joinen. Dieser Schritt wurde schon einmal mit Bug 18126 versucht, damals scheiterte das aber daran, dass UCS 2.3-x Systeme das Mikrosekunden-Format für das Attribut entryCSN nicht akzeptierten. Per Bug 18927 wurde dieser Blocker behoben, sodass UCS 2.4-0 Systeme die Mikrosekunden-entryCSNs akzeptieren und wir jetzt zu UCS 3.0 die für Multimaster+Syncrepl-replikation verbesserten entryCSNs aktivieren können (sollten). In den Releasenotes ist folgender Hinweis aufgenommen, sowohl unter "Wichtige Änderungen" als auch unter "Vorbereitungen des Updates": \item OpenLDAP 2.4.25 verwendet jetzt Zeitstempel mit Mikrosekunden-Auflösung. UCS Versionen vor UCS 2.4 sind damit inkompatibel, und können daher nicht unter einem UCS 3.0 Master betrieben werden. Systeme mit UCS 2.3-x oder älter müssen daher vor dem Update auf UCS 3.0 mindestens auf UCS 2.4-0 aktualisiert werden. Changelog Eintrag: \item The entryCSN attribute now uses the microsecond resolution, as recommended by den OpenLDAP"=team (\ucsBug{17159}). This new format is incompatible with OpenLDAP versions shipped prior to UCS 2.4-0 (\ucsBug{18927}, \ucsBug{18126}).
Funktioniert.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"