9.0 Nachrufe

Nachrufe werden als operationale Attribute eingesetzt, die eDirectory Objekten zuweist, um die referenzielle Integrität bei Vorgängen wie dem Löschen, Verschieben, Umbenennen oder Wiederherstellen zu gewährleisten. Wenn zum Beispiel eine Gruppe A über das Mitglied „Benutzer B“ verfügt und Benutzer B gelöscht wird, entfernt das Verzeichnis automatisch den Bezug zu Benutzer B von Gruppe A. In eDirectory 8.8 SP8 werden die Nachrufe, die von den Lösch-, Verschiebungs- und Umbenennungsvorgängen generiert werden, standardmäßig optimiert.

HINWEIS:Objekte mit Nachrufen werden immer dann in Betracht gezogen, wenn ein Agent ausgehend synchronisiert. Sie werden auch vom Nachrufvorgang in Betracht gezogen, der planmäßig am Ende eines Eingangssynchronisierungszyklus ausgeführt wird.

Es gibt drei allgemeine Klassifizierungen für Nachrufe:

Abgesehen von den Verfolgungsnachrufen müssen Nachrufe eine Reihe von Synchronisierungszuständen durchlaufen.

Die Zustände werden im Flaggenfeld im Nachrufattribut protokolliert. Bevor ein Nachruf in den nächsten Zustand übergehen kann, muss der aktuelle Zustand mit allen Reproduktionen des echten Objekts synchronisiert sein. Um festzustellen, ob alle Reproduktionen im Ring einen gegebenen Nachrufzustand erkannt haben, wird anhand des transitiven Vektors ein Vektor berechnet. In eDirectory 8.6 wird ein nicht gespeicherter Nachrufvektor verwendet. In früheren Versionen von eDirectory wird der Entfernvektor verwendet. Wenn der Änderungszeitstempel (MTS) auf dem Nachruf älter als der berechnete Vektor ist, so kann der Server, der für diesen Nachruf zuständig ist, diesen in den nächsten Zustand überführen.

Für einen sekundären Nachruf vom Typ "Backlink" ist der Agent, der die Masterreproduktion des Objekts mit dem Nachruf enthält, dafür zuständig, den Nachruf in die nächsten Zustände zu versetzen. Für einen sekundären Nachruf vom Typ "Genutzt durch" ist der Reproduktionsagent, der ihn erstellt hat, dafür zuständig, den Nachruf in die nächsten Zustände zu befördern, und zwar so lange wie die Reproduktion besteht. Wenn die Reproduktion nicht mehr vorhanden ist, so übernimmt es der Agent mit der Masterreproduktion dieser Partition, den Nachruf vom Typ "Genutzt durch" in die nächsten Zustände zu versetzen. Bei einem Nachruf vom Typ "Baum verschieben" ist die Masterreproduktion der Stammpartition dafür zuständig, den Nachruf in die nächsten Zustände zu versetzen.

Primäre Nachrufe können nur dann in die nächsten Zustände versetzt werden, wenn alle sekundären Nachrufe alle Zustände durchlaufen haben. Wenn ein primärer Nachruf seinen letzten Zustand erreicht hat und dieser Zustand mit allen Servern im Ring synchronisiert ist, so bleibt nur die Objekthülle übrig, also ein Objekt ohne Attribute, das anschließend durch den Tilgungsvorgang aus dem System entfernt werden kann. Verfolgungsnachrufe werden entfernt, sobald der primäre Nachruf entfernt werden kann. Bei Inhibit_move (Verschieben unterbinden) wird der Verfolgungsnachruf entfernt, sobald der primäre Nachruf in den Zustand OBF_NOTIFIED auf der Masterreproduktion übergegangen ist.

Die für die Verarbeitung der Nachrufe zuständige Reproduktion erledigt dies im Hintergrund (im Nachrufvorgang), der auf pro-Partition-Basis geplant ist und ausgeführt wird, wenn eine gegebene Partition einen Eingangssynchronisierungszyklus abgeschlossen hat. Sind keine anderen Reproduktionen der Partition vorhanden, so wird der ausgehende Reproduktionsvorgang weiterhin im Heartbeat-Intervall geplant. Der ausgehende Reproduktionsvorgang startet dann den Nachrufvorgang. Der Nachrufvorgang kann nicht manuell geplant werden, was jedoch auch nicht erforderlich ist. Bei der Synchronisierung werden die transitiven Vektoren aktualisiert und geben den Entfernvektor und den Nachrufvektor weiter. Wenn diese Vektoren in den nächsten Zustand versetzt werden, können die Nachrufe ebenfalls in die nächsten Zustände übergehen. Zusammen mit der automatischen Planung durch die Eingangssynchronisierung schließt dies den Nachrufvorgangszyklus ab. Somit stellt die Objektsynchronisierung den Lebensnerv der Nachrufverarbeitung dar.

Nachdem alle Nachrufe, deren verknüpfte primäre Nachrufe vom Typ „Inaktiv“ sind, in den letzten Zustand (Entfernbar) versetzt wurden und dieser Zustand mit allen Reproduktionen synchronisiert wurde, ist nun für ein Objekt, das entfernt wird, ein neuer Vorgang zur Entfernung der verbleibenden Eintragshülle aus der Datenbank zuständig. Der Entfernvorgang wird automatisch ausgeführt, um diese Hüllen zu entfernen. Auf der Seite Agentenkonfiguration in iMonitor kann der Entfernvorgang manuell geplant und sein automatisches Planintervall geändert werden.