Revisionsbereinigung revision-cleanup

Einführung introduction

Jede Aktualisierung des Repositorys erzeugt eine Inhaltsrevision. Daher wächst das Repository mit jeder Aktualisierung. Alte Revisionen müssen bereinigt werden, um freie Festplattenressourcen zu erhalten – dies ist wichtig, um ein unkontrolliertes Repository-Wachstum zu vermeiden. Diese Wartungsfunktionalität wird als Revisionsbereinigung bezeichnet. Sie ist seit Adobe Experience Manager (AEM) 6.0 als Offline-Routine verfügbar.

Mit AEM 6.3 und höher wurde eine Online-Version dieser Funktion namens Online-Revisionsbereinigung eingeführt. Verglichen mit der Offline-Revisionsbereinigung, bei der die AEM-Instanz beendet werden muss, kann die Online-Revisionsbereinigung ausgeführt werden, wenn die AEM-Instanz online ist. Die Online-Revisionsbereinigung ist standardmäßig aktiviert und ist die empfohlene Methode zur Durchführung der Revisionsbereinigung.

Hinweis: Im Video finden Sie eine Einführung in die Verwendung der Online-Revisionsbereinigung.

Der Revisionsbereinigungsprozess besteht aus drei Phasen: Schätzung, Komprimierung und Bereinigung. Die Schätzung bestimmt, ob die nächste Phase (Komprimierung) ausgeführt werden soll oder nicht, je nachdem, wie viel Speicherabfall möglicherweise erfasst wird. Während der Komprimierungsphase werden Segmente und TAR-Dateien neu geschrieben, wobei nicht verwendete Inhalte ausgeschlossen werden. In der Bereinigungsphase werden dann die alten Segmente entfernt, einschließlich des möglicherweise vorhandenen Speicherabfalls. Im Offline-Modus kann in der Regel mehr Speicherplatz zurückgewonnen werden, da der Online-Modus den AEM-Arbeitssatz berücksichtigen muss, in dem zusätzliche Segmente nicht erfasst werden.

Weitere Informationen zur Revisionsbereinigung finden Sie unter den folgenden Links:

Weitere Informationen finden Sie zudem in der offiziellen Oak-Dokumentation.

Wann sollte die Online-Revisionsbereinigung anstelle der Offline-Revisionsbereinigung verwendet werden? when-to-use-online-revision-cleanup-as-opposed-to-offline-revision-cleanup

Die Online-Revisionsbereinigung ist die empfohlene Methode zur Durchführung der Revisionsbereinigung. Die Offline-Revisionsbereinigung sollte nur in Ausnahmefällen erfolgen, beispielsweise bei der Migration zu einem neuen Speicherformat oder bei Aufforderung durch die Adobe-Kundenunterstützung.

Ausführen der Online-Revisionsbereinigung how-to-run-online-revision-cleanup

Die Online-Revisionsbereinigung ist standardmäßig so konfiguriert, dass sie einmal täglich sowohl in der Autoren- als auch in der Veröffentlichungsinstanz von AEM ausgeführt wird. Sie müssen lediglich das Wartungsfenster während eines Zeitraums mit der geringsten Benutzeraktivität definieren. Sie können die Online-Revisionsbereinigung wie folgt konfigurieren:

  1. Wechseln Sie im AEM-Hauptfenster zu Tools > Vorgänge > Dashboard > Wartung oder öffnen Sie im Browser die URL: https://serveraddress:serverport/libs/granite/operations/content/maintenance.html

    chlimage_1-90

  2. Zeigen Sie mit der Maus auf Tägliches Wartungsfenster und klicken Sie auf das Symbol für Einstellungen.

    chlimage_1-91

  3. Geben Sie die gewünschten Werte (Wiederholung, Startzeit, Endzeit) ein und klicken Sie auf Speichern.

    chlimage_1-92

Wenn Sie die Revisionsbereinigung manuell durchführen möchten, gehen Sie wie folgt vor:

  1. Wechseln Sie zu Tools > Vorgänge > Dashboard > Wartung oder direkt zu https://serveraddress:serverport/libs/granite/operations/content/maintenance.html.

  2. Klicken Sie auf Tägliches Wartungsfenster.

  3. Zeigen Sie mit der Maus auf das Symbol für Revisionsbereinigung.

  4. Klicken Sie auf Ausführen.

    chlimage_1-93

Ausführen der Online-Revisionsbereinigung nach der Offline-Revisionsbereinigung running-online-revision-cleanup-after-offline-revision-cleanup

Der Revisionsbereinigungsprozess gewinnt alte Revisionen generationsweise zurück. Das bedeutet, dass jedes Mal, wenn Sie die Revisionsbereinigung ausführen, eine neue Generierung erstellt und auf der Festplatte gespeichert wird. Die beiden Typen der Revisionsbereinigung unterscheiden sich: Bei der Offline-Revisionsbereinigung wird eine Generation aufbewahrt, während bei der Online-Revisionsbereinigung zwei Generationen aufbewahrt werden. Wenn Sie also nach einer Offline-Revisionsbereinigung eine Online-Revisionsbereinigung durchführen, passiert Folgendes:

  1. Nach dem ersten Durchlauf der Online-Revisionsbereinigung verdoppelt sich die Größe des Repositorys. Dies geschieht, weil jetzt zwei Generationen auf der Festplatte aufbewahrt werden.
  2. Während der nachfolgenden Ausführungen wächst das Repository, solange die neue Generation erstellt wird, und stabilisiert sich dann wieder bei der Größe, die es nach dem ersten Durchlauf hatte, sobald der Online-Revisionsbereinigungsprozess die vorherige Generation zurückgewinnt.

Beachten Sie außerdem, dass je nach Typ und Anzahl der Commits jede Generierung im Vergleich zum vorherigen unterschiedlich groß sein kann, sodass die endgültige Größe von einer Ausführung zur anderen variieren kann.

Es empfiehlt sich deswegen, eine Festplatte zu wählen, die mindestens zwei- oder dreimal so groß ist wie die ursprünglich geschätzte Repository-Größe.

Vollständiger und Tail-Komprimierungsmodus full-and-tail-compaction-modes

Mit AEM 6.5 werden zwei neue Modi für die Komprimierungsphase des Online-Revisionsbereinigungsprozesses eingeführt:

  • Der Modus für die vollständige Komprimierung schreibt alle Segmente und TAR-Dateien im gesamten Repository neu. Die nachfolgende Bereinigungsphase kann somit die maximale Menge an Speicherabfall im Repository entfernen. Da die vollständige Komprimierung sich auf das gesamte Repository auswirkt, ist dafür eine beträchtliche Menge an Systemressourcen und Zeit erforderlich. Die vollständige Komprimierung entspricht der Komprimierungsphase in AEM 6.3.
  • Der Modus Tail-Komprimierung schreibt nur die aktuellsten Segmente und TAR-Dateien im Repository neu. Die neuesten Segmente und TAR-Dateien sind diejenigen, die seit der letzten vollständigen oder Tail-Komprimierung hinzugefügt wurden. Die nachfolgende Bereinigungsphase kann daher nur den im aktuellen Teil des im Repository enthaltenen Speicherabfall entfernen. Da die Tail-Komprimierung nur einen Teil des Repositorys betrifft, benötigt sie erheblich weniger Systemressourcen und Zeit als eine vollständige Komprimierung.

Diese Komprimierungsmodi stellen einen Kompromiss zwischen Effizienz und Ressourcenverbrauch dar: Die Tail-Komprimierung ist zwar weniger effektiv, hat dafür aber weniger Auswirkungen auf den normalen Systembetrieb. Die vollständige Komprimierung ist effektiver, hat aber auch wesentlich größere Auswirkungen auf den normalen Systembetrieb.

AEM 6.5 bietet bei der Komprimierung außerdem einen effizienteren Mechanismus für die Deduplizierung des Inhalts, was den Speicherbedarf des Repositorys weiter verringert.

Die beiden folgenden Diagramme enthalten die Ergebnisse aus internen Laborversuchen, die die Reduzierung der durchschnittlichen Ausführungszeiten und des durchschnittlichen Festplattenspeicherbedarfs in AEM 6.5 im Vergleich zu AEM 6.3 aufzeigen:

onrc-duration-6_4vs63 segmentstore-6_4vs63

Konfigurieren der vollständigen und Tail-Komprimierung how-to-configure-full-and-tail-compaction

Bei der Standardkonfiguration wird an Werktagen eine Tail-Komprimierung und an Sonntagen eine vollständige Komprimierung durchgeführt. Die Standardkonfiguration kann über den neuen Konfigurationswert full.gc.days der RevisionCleanupTask-Wartungsaufgabe geändert werden.

Wenn Sie den Wert full.gc.days konfigurieren, wird die vollständige Komprimierung während der mit diesem Wert definierten Tage ausgeführt und die Tail-Komprimierung während der nicht mit diesem Wert definierten Tage. Wenn Sie beispielsweise die vollständige Komprimierung so konfigurieren, dass sie am Sonntag erfolgt, wird die Tail-Komprimierung von Montag bis Samstag ausgeführt. Wenn Sie beispielsweise die vollständige Komprimierung so konfigurieren, dass sie an jedem Wochentag erfolgt, wird die Tail-Komprimierung überhaupt nicht ausgeführt.

Beachten Sie außerdem Folgendes:

  • Die Tail-Komprimierung ist weniger effektiv und hat weniger Auswirkungen auf den normalen Systembetrieb. Sie sollte daher an den Werktagen ausgeführt werden.
  • Die vollständige Komprimierung ist effektiver, hat aber auch wesentlich größere Auswirkungen auf den normalen Systembetrieb. Sie ist daher zur Verwendung außerhalb der Werktage vorgesehen.
  • Sowohl die Tail-Komprimierung als auch die vollständige Komprimierung sollte außerhalb der Spitzenzeiten ausgeführt werden.

Fehlerbehebung troubleshooting

Beachten Sie bei der Verwendung der neuen Komprimierungsmodi Folgendes:

  • Sie können die Eingabe/Ausgabe-Aktivität (I/O) überwachen, z. B.: I/O-Vorgänge, CPU wartet auf IO, Commit-Warteschlangengröße. Auf diese Weise können Sie feststellen, ob das System I/O-gebunden wird und eine Vergrößerung erforderlich ist.
  • Der RevisionCleanupTaskHealthCheck zeigt den Gesamtzustand der Online-Revisionsbereinigung. Es funktioniert genauso wie in AEM 6.3 und unterscheidet nicht zwischen vollständiger und Tail-Komprimierung.
  • Die Protokollmeldungen enthalten relevante Informationen über die Komprimierungsmodi. Wenn beispielsweise die Online-Revisionsbereinigung beginnt, wird in den entsprechenden Protokollmeldungen der Komprimierungsmodus angegeben. In einigen seltenen Fällen kehrt das System außerdem zur vollständigen Komprimierung zurück, wenn eine Tail-Komprimierung geplant war. Die Protokollmeldungen zeigen diese Änderung an. Die folgenden Protokollbeispiele zeigen den Komprimierungsmodus und den Wechsel von der Tail-Komprimierung zur vollständigen Komprimierung an:
TarMK GC: running tail compaction
TarMK GC: no base state available, running full compaction instead

Bekannte Einschränkungen known-limitations

Manchmal verzögert der Wechsel zwischen dem Tail- und dem vollständigen Komprimierungsmodus den Bereinigungsprozess. Genauer gesagt wächst das Repository nach einer vollständigen Komprimierung (die Größe verdoppelt sich). Der zusätzliche Speicherplatz wird bei der nachfolgenden Tail-Komprimierung zurückgewonnen, wenn das Repository unter die Größe von vor der vollständigen Komprimierung fällt. Das parallele Durchführen von Wartungsaufgaben sollte ebenfalls vermieden werden.

Es empfiehlt sich, eine Festplatte zu wählen, die mindestens zwei- oder dreimal so groß ist wie die ursprünglich geschätzte Repository-Größe.

Häufig gestellte Fragen zur Online-Revisionsbereinigung online-revision-cleanup-frequently-asked-questions

Aspekte der AEM 6.5-Aktualisierung aem-upgrade-considerations

Fragen
Antworten
Was muss ich beachten, wenn ich auf AEM 6.5 aktualisiere?

Das Persistenzformat von TarMK ändert sich mit AEM 6.5. Für diese Änderungen ist keine proaktive Migration erforderlich. Vorhandene Repositorys durchlaufen eine parallele Migration, die für Benutzende transparent ist. Der Migrationsprozess wird initiiert, wenn AEM 6.5 (oder zugehörige Tools) zum ersten Mal auf das Repository zugreifen.

Nachdem die Migration zum Persistenzformat von AEM 6.5 initiiert wurde, kann das Repository nicht mehr in das Persistenzformat von AEM 6.3 zurückgesetzt werden.

Migrieren zum Oak-Segment-TAR migrating-to-oak-segment-tar

Fragen
Antworten
Warum muss ich das Repository migrieren?

In AEM 6.3 mussten Änderungen am Speicherformat durchgeführt werden, um insbesondere die Leistung und die Effektivität der Online-Revisionsbereinigung zu verbessern. Diese Änderungen sind nicht abwärtskompatibel, und Repositorys, die mit dem alten Oak-Segment (AEM 6.2 und früher) erstellt wurden, müssen migriert werden.

Weitere Vorteile der Änderung des Speicherformats:

  • Bessere Skalierbarkeit (optimierte Segmentgröße).
  • Schnellere Datenspeicherbereinigung.
  • Grundlage für zukünftige Verbesserungen.
Wird das vorherige TAR-Format weiterhin unterstützt?
Nur das neue Oak Segment Tar wird von AEM 6.3 oder höher unterstützt.
Ist die Migration des Inhalts immer obligatorisch?
Ja. Wenn Sie nicht mit einer neuen Instanz beginnen, müssen Sie den Inhalt immer migrieren.
Kann ich auf 6.3 oder höher aktualisieren und die Migration zu einem späteren Zeitpunkt durchführen (zum Beispiel in einem anderen Wartungsfenster)?
Nein, wie oben beschrieben, ist die Migration obligatorisch.
Kann die Ausfallzeit für die Migration vermieden werden?
Nein. Dies ist ein einmaliger Aufwand, der nicht auf einer laufenden Instanz ausgeführt werden kann.
Was passiert, wenn ich versehentlich das falsche Repository-Format verwende?
Wenn Sie versuchen, das Oak-Segment-Modul mit einem Oak-Segment-Tar-Repository auszuführen (oder umgekehrt), schlägt der Start mit dem Fehler IllegalStateException und der Meldung fehl, dass das Segmentformat ungültig ist. Es werden jedoch keine Daten beschädigt.
Müssen die Suchindizes neu indiziert werden?
Nein. Bei der Migration vom Oak-Segment-Format zum Oak-Segment-Tar-Format findet eine Änderung des Container-Formats statt. Die enthaltenen Daten sind davon nicht betroffen und werden nicht geändert.
Wie kann ich den während und nach der Migration erforderlichen Speicherplatz am besten berechnen?
Die Migration entspricht der Neuerstellung des Segmentspeichers in dem neuen Format. Auf Basis dieser Annahme können Sie den zusätzlich für die Migration erforderlichen Festplattenspeicher berechnen. Nach der Migration kann der alte Segmentspeicher gelöscht werden, um Speicherplatz zurückzugewinnen.
Wie kann ich die Dauer der Migration am besten abschätzen?
Die Migrationsleistung kann erheblich verbessert werden, wenn vor der Migration eine Offline-Revisionsbereinigung durchgeführt wird. Allen Kunden wird empfohlen, diese als Voraussetzung für die Aktualisierung auszuführen. Im Allgemeinen sollte die Dauer der Migration der Dauer der Aufgabe zur Bereinigung der Offline-Revision ähnlich sein, vorausgesetzt, dass die Aufgabe zur Bereinigung der Offline-Revision vor der Migration ausgeführt wurde.

Ausführen der Online-Revisionsbereinigung running-online-revision-cleanup

Fragen
Antworten
Wie oft sollte die Online-Revisionsbereinigung durchgeführt werden?
Einmal pro Tag. Dies ist die Standardkonfiguration im Vorgangs-Dashboard.
Wie kann ich die Startzeit der Wartungsaufgabe für die Online-Revisionsbereinigung konfigurieren?
Hierzu finden Sie Informationen im Abschnitt Ausführen der Online-Revisionsbereinigung.
Gibt es für die Online-Revisionsbereinigung eine maximale Frequenz, die nicht überschritten werden sollte?
Es wird empfohlen, die Online-Revisionsbereinigung einmal täglich auszuführen, wie dies standardmäßig konfiguriert ist.
Welche Indikatoren sind für die Frequenz entscheidend, in der die Online-Revisionsbereinigung ausgeführt werden sollte?
Es ist nicht notwendig, die Frequenz zu ermitteln, da die Online-Revisionsbereinigung als Wartungsaufgabe konfiguriert ist und täglich automatisch ausgeführt wird.
Warum gewinnt die Online-Revisionsbereinigung keinen Speicherplatz zurück, wenn sie das erste Mal ausgeführt wird?
Die Online-Revisionsbereinigung gewinnt alte Revisionen generationsweise zurück. Bei jeder Ausführung der Revisionsbereinigung wird eine neue Generierung erzeugt. Nur Inhalte, die mindestens zwei Generationen alt sind, werden zurückgewonnen, was bedeutet, dass bei einem ersten Durchlauf nichts zurückgewonnen werden kann.
Warum gewinnt die erste Online-Revisionsbereinigung keinen Speicherplatz zurück, wenn sie nach der Offline-Revisionsbereinigung ausgeführt wird?

Die Offline-Revisionsbereinigung gewinnt alles zurück bis auf die neueste Generierung, im Vergleich zu den letzten zwei Generierungen für die Online-Revisionsbereinigung. Im Falle eines neuen Repositorys wird beim erstmaligen Ausführen der Online-Revisionsbereinigung im Anschluss an die Offline-Bereinigung kein Speicherplatz zurückgewonnen, da keine Generation alt genug für eine Rückgewinnung ist.

Lesen Sie hierzu auch den Abschnitt „Ausführen der Online-Revisionsbereinigung nach der Offline-Revisionsbereinigung“ in diesem Kapitel.

Haben Autoren- und Veröffentlichungsumgebungen in der Regel verschiedene Fenster für die Online-Revisionsbereinigung?
Dies hängt von den Arbeitszeiten und den Traffic-Mustern der Online-Präsenz für Kunden ab. Die Wartungsfenster sollten außerhalb der Hauptproduktionszeiten liegen, um die Bereinigung so effizient wie möglich durchzuführen. Bei mehreren AEM-Veröffentlichungsinstanzen (TarMK-Farm) empfiehlt es sich, die Wartungsfenster für die Online-Revisionsbereinigung zu staffeln.
Müssen vor dem Ausführen der Online-Revisionsbereinigung irgendwelche Voraussetzungen erfüllt sein?
Die Online-Revisionsbereinigung ist nur mit AEM 6.3 und höheren Versionen verfügbar. Wenn Sie daher eine ältere Version von AEM verwenden, müssen Sie zum neuen Oak-Segment-Tar migrieren.
Welche Faktoren bestimmen die Dauer der Online-Revisionsbereinigung?

Die Faktoren sind:

  • Repository-Größe
  • Systemlast (Anforderungen pro Minute, insbesondere Schreibvorgänge)
  • Aktivitätsmuster (Lese- und Schreibvorgänge)
  • Hardware-Spezifikationen (CPU-Leistung, Speicher, IOPS)
Können Autoren weiterarbeiten, während die Online-Revisionsbereinigung läuft?
Ja, die Online-Revisionsbereinigung kann gleichzeitige Schreibvorgänge handhaben. Die Online-Revisionsbereinigung funktioniert jedoch schneller und effizienter ohne gleichzeitige Schreibvorgänge. Adobe empfiehlt, die Wartungsaufgabe für die Online-Revisionsbereinigung für eine relativ ruhige Zeit ohne viel Traffic zu planen.
Welche Mindestanforderungen gelten für Festplatten- und Heap-Speicher, wenn die Online-Revisionsbereinigung ausgeführt wird?

Der Festplattenspeicher wird während der Online-Revisionsbereinigung kontinuierlich überwacht. Wenn der verfügbare Speicherplatz unter einen kritischen Wert fällt, wird der Prozess abgebrochen. Dieser kritische Wert beträgt 25 % des aktuell belegten Speicherplatzes des Repositorys und kann nicht konfiguriert werden.

Adobe empfiehlt, eine Festplatte zu wählen, die mindestens zwei- oder dreimal so groß ist wie die ursprünglich geschätzte Repository-Größe.

Der verfügbare Heap-Speicher wird während des Bereinigungsprozesses kontinuierlich überwacht. Falls der verfügbare Heap-Speicher unter einen kritischen Wert sinkt, wird der Vorgang abgebrochen. Der kritische Wert wird über org.apache.jackrabbit.oak.segment.SegmentNodeStoreService#MEMORY_THRESHOLD konfiguriert. Der Standardwert ist 15 %.

Es gibt keine separaten Empfehlungen für die Mindestkomprimierung der Heap-Speichergröße zusätzlich zu den Empfehlungen für die AEM-Speichergröße. Als allgemeine Regel gilt: Falls eine AEM-Instanz ausreichend für die Anwendungsbereiche und die erwartete Payload dimensioniert ist, ist ausreichend Speicherplatz für den Bereinigungsvorgang vorhanden.

Mit welcher Auswirkung auf die Leistung muss beim Ausführen der Online-Revisionsbereinigung gerechnet werden?
Die Online-Revisionsbereinigung ist ein Hintergrundprozess, der gleichzeitig aus dem Repository liest und in das Repository schreibt, parallel zu den normalen Systemvorgängen. Insbesondere benötigt der Vorgang u. U. für einen kurzen Zeitraum exklusiven Zugang zum Repository, sodass andere Threads nicht in das Repository schreiben können.
Wie lange dauert die Ausführung der Online-Revisionsbereinigung erwartungsgemäß?
Ausgehend von den letzten von Adobe intern ausgeführten Leistungstests sollte die Ausführung nicht mehr als 2 Stunden dauern.
Was muss getan werden, wenn die Online-Revisionsbereinigung länger dauert?
  • Stellen Sie sicher, dass sie täglich ausgeführt wird.
  • Stellen Sie sicher, dass sie bei minimaler Repository-Aktivität ausgeführt wird, indem Sie die Wartungsfenster im Vorgangs-Dashboard entsprechend konfigurieren.
  • Vergrößern Sie die Systemressourcen (CPU, Arbeitsspeicher, E/A).
Was passiert, wenn die Online-Revisionsbereinigung das konfigurierte Wartungsfenster überschreitet?
Stellen Sie sicher, dass andere Wartungsaufgaben die Ausführung nicht verzögern. Dies kann der Fall sein, wenn innerhalb desselben Wartungsfensters noch andere Wartungsaufgaben als die Online-Revisionsbereinigung ausgeführt werden. Wartungsaufgaben werden nacheinander und ohne konfigurierbare Reihenfolge ausgeführt.
Warum wird die Revisionsbereinigung übersprungen?

Die Revisionsbereinigung beruht auf einer Schätzungsphase, in der entschieden wird, ob ausreichend Datenabfall zur Bereinigung vorhanden ist. Bei der Schätzung wird die aktuelle Größe mit der Größe des Repositorys nach der letzten Komprimierung verglichen. Wenn die Größe das konfigurierte Delta überschreitet, wird die Bereinigung ausgeführt. Der Deltawert für die Größe beträgt 1 GB. In der Praxis bedeutet dies: Falls die Repository-Größe seit der letzten Bereinigung um weniger als 1 GB gewachsen ist, wird die neue Iteration der Revisionsbereinigung übersprungen.

Unten sehen Sie die für die Schätzungsphase relevanten Protokolleinträge:

  • Revision GC runs: Size delta is N% or N/N (N/N bytes), so running compaction
  • Revision GC does not run: Size delta is N% or N/N (N/N bytes), so skipping compaction for now
Kann die automatische Komprimierung abgebrochen werden, falls die Auswirkung auf die Leistung zu groß ist?
Ja. Ab AEM 6.3 kann sie sicher über das Wartungsaufgaben-Fenster im Vorgangs-Dashboard oder über JMX beendet werden.
Wenn die AEM-Instanz während einer geplanten Bereinigungsaufgabe heruntergefahren wird, wird der Prozess dann sicher beendet oder ist ein Herunterfahren erst möglich, nachdem die Komprimierung abgeschlossen wurde?
Die Revisionsbereinigung wird unterbrochen und das Repository wird sicher heruntergefahren.
Was passiert, wenn das System während der Online-Revisionsbereinigung abstürzt?
In solchen Fällen besteht keine Gefahr einer Datenbeschädigung. Nicht bereinigte alte Daten werden bei der nächsten Bereinigung gelöscht.
Welche Folgen hat es, wenn die Online-Revisionsbereinigung nicht ausgeführt wird?
Die Leistung verschlechtert sich mit der Zeit.
Welche Revisionen werden erfasst?
Standardmäßig erfasst die Online-Revisionsbereinigung nur Revisionen, die mindestens 24 Stunden alt sind.
Was passiert, wenn zu viele gleichzeitige Schreibvorgänge im Repository zu starken Störungen führen?

Wenn im System gleichzeitige Schreibvorgänge stattfinden, benötigt die Online-Revisionsbereinigung möglicherweise einen exklusiven Schreibzugriff, um die Änderungen am Ende eines Komprimierungszyklus zu übermitteln. Das System wechselt in den forceCompact-Modus, der in der Oak-Dokumentation ausführlicher erläutert wird. Während der erzwungenen Komprimierung gilt eine exklusive Schreibsperre, damit die Änderungen endgültig übertragen werden können, ohne dass gleichzeitige Schreibvorgänge dazwischenkommen. Um die Auswirkungen auf die Antwortzeiten zu begrenzen, kann ein Zeitlimitwert definiert werden. Dieser Wert ist standardmäßig auf eine Minute gesetzt. Das bedeutet, dass der Komprimierungsprozess zugunsten gleichzeitiger Commits abgebrochen wird, wenn die erzwungene Komprimierung nicht innerhalb von einer Minute abgeschlossen wird.

Die Dauer der erzwungenen Komprimierung hängt von folgenden Faktoren ab:

  • Hardware: speziell IOPS. Die Dauer nimmt mit zunehmenden IOPS ab.
  • Segmentspeichergröße: Die Dauer steigt mit der Größe des Segmentspeichers.
Wie wird die Online-Revisionsbereinigung auf einer Standby-Instanz ausgeführt?

In einem Setup mit Cold-Standby muss nur die primäre Instanz für die Ausführung der Online-Revisionsbereinigung konfiguriert sein. Auf der Standby-Instanz muss die Online-Revisionsbereinigung nicht explizit geplant werden.

Der entsprechende Vorgang auf der Standby-Instanz ist die automatische Bereinigung; diese entspricht der Bereinigungsphase der Online-Revisionsbereinigung. Die automatische Bereinigung wird auf der Standby-Instanz ausgeführt, nachdem die Online-Revisionsbereinigung auf der primären Instanz ausgeführt wurde.

Schätzungs- und Komprimierungsphasen werden nicht auf einer Standby-Instanz ausgeführt.

Kann die Offline-Revisionsbereinigung mehr Speicherplatz freigeben als die Online-Revisionsbereinigung?

Bei der Offline-Revisionsbereinigung können alte Revisionen sofort entfernt werden, während bei der Online-Revisionsbereinigung alte Revisionen berücksichtigt werden müssen, auf die noch vom Anwendungsstapel verwiesen wird. Bei der Offline-Revisionsbereinigung werden alte Daten also aggressiver bereinigt, während sich bei der Online-Revisionsbereinigung der Effekt erst nach einigen Bereinigungszyklen zeigt.

Lesen Sie hierzu auch den Abschnitt „Ausführen der Online-Revisionsbereinigung nach der Offline-Revisionsbereinigung“ in diesem Kapitel.

Gibt es Aspekte, die bei Dateioperationen mit Speicherzuordnung beachtet werden müssen?
  • In Windows-Umgebungen wird immer der reguläre Dateizugriff erzwungen, weshalb keine Speicherzuordnung verwendet wird. Ganz allgemein sollte der gesamte verfügbare RAM-Speicher dem Heap zugewiesen und die segmentCache-Größe erhöht werden. Um die segmentCache-Größe zu erhöhen, fügen Sie die Option segmentCache.size zu org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.config hinzu (z. B. segmentCache.size=20480). Denken Sie daran, auch RAM für das Betriebssystem und andere Prozesse einzuplanen.
  • In Nicht-Windows-Umgebungen erhöhen Sie die Größe des physischen Speichers, um die Speicherzuordnung des Repositorys zu verbessern.

Überwachen der Online-Revisionsbereinigung monitoring-online-revision-cleanup

Was muss während der Online-Revisionsbereinigung überwacht werden?
  • Wenn die Online-Revisionsbereinigung aktiviert ist, sollte der Festplattenspeicher überwacht werden. Die Bereinigung wird nicht ausgeführt oder wird vorzeitig beendet, falls nicht genügend Speicherplatz vorhanden ist.
  • Überprüfen Sie die Protokolldateien auf die Ausführungsdauer der Online-Revisionsbereinigung. Sie sollte nicht länger als zwei Stunden in Anspruch nehmen.
  • Anzahl der Prüfpunkte. Falls bei der Komprimierung mehr als drei Prüfpunkte auftreten, wird empfohlen, die Prüfpunkte zu bereinigen.
Wie kann überprüft werden, ob die Online-Revisionsbereinigung erfolgreich abgeschlossen wurde?

Sie können überprüfen, ob die Online-Revisionsbereinigung erfolgreich abgeschlossen wurde, indem Sie die Protokolle überprüfen.

Beispiel: „TarMK GC #{}: compaction completed in {} ({} ms), after {} cycles“ bedeutet, dass der Komprimierungsschritt erfolgreich abgeschlossen wurde, es sei denn, vorher wurde die Meldung „TarMK GC #{}: compaction gave up compacting concurrent commits after {} cycles“ angezeigt. Sie bedeutet, dass die gleichzeitige Last zu hoch war.

Dementsprechend gibt es die Meldung „TarMK GC #{}: cleanup completed in {} ({} ms“ für den erfolgreichen Abschluss des Bereinigungsschritts.

Wo finden wir die Statistiken der letzten Online-Revisionsbereinigungen?

Status, Fortschritt und Statistiken werden über JMX (MBean SegmentRevisionGarbageCollection) verfügbar gemacht. Weitere Informationen zu MBean SegmentRevisionGarbageCollection finden Sie im folgenden Absatz.

Der Fortschritt kann wie folgt verfolgt werden: über das Attribut EstimatedRevisionGCCompletion von SegmentRevisionGarbageCollection MBean.

Sie können eine MBean-Referenz mit ObjectName org.apache.jackrabbit.oak:name="Segment node store revision garbage collection",type="SegmentRevisionGarbageCollection" abrufen.

Beachten Sie, dass Statistiken nur ab dem letzten Systemstart verfügbar sind. Sie können externe Überwachungs-Tools verwenden, um Daten über die AEM-Laufzeit hinaus aufzubewahren. In der AEM-Dokumentation finden Sie Informationen zum Anhängen von Konsistenzprüfungen an Nagios als Beispiel für ein externes Überwachungs-Tool.

Welche Protokolleinträge sind relevant?
  • Die Online-Revisionsbereinigung wurde gestartet/beendet
    • Die Online-Revisionsbereinigung umfasst drei Phasen: Schätzung, Komprimierung und Bereinigung. In der Schätzungsphase kann das Überspringen der Komprimierung und Bereinigung erzwungen werden, falls das Repository nicht ausreichend viele alte Daten enthält. In der neuesten Version von AEM markiert die Meldung „TarMK GC #{}: estimation started“ den Beginn der Schätzung, „TarMK GC #{}: compaction started, strategy={}“ markiert den Beginn der Komprimierung und „TarMK GC #{}: cleanup started. Current repository size is {} ({} bytes“ markiert den Beginn der Bereinigung.
  • Durch die Revisionsbereinigung gewonnener Speicherplatz
    • Der Speicherplatz wird erst nach Abschluss der Bereinigungsphase zurückgewonnen. Der Abschluss der Bereinigungsphase wird durch die Protokollmeldung „TarMK GC #{}: cleanup completed in {} ({} ms“ markiert. Größe nach der Bereinigung ist {} ({} Bytes) und zurückgewonnener Platz {} ({} Bytes). Gewicht/Tiefe der Verdichtungskarte ist {}/{} ({} Bytes/{}).".
  • Während der Revisionsbereinigung ist ein Problem aufgetreten.
    • Es gibt viele Fehlerbedingungen. Alle sind durch WARN- oder ERROR-Protokollmeldungen gekennzeichnet, die mit „TarMK GC“ beginnen.

Siehe auch Fehlerbehebung basierend auf Fehlermeldungen unten.

Wie kann ich überprüfen, wie viel Speicherplatz nach Abschluss der Online-Revisionsbereinigung zurückgewonnen wurde?
Am Ende des Bereinigungszyklus wird im Protokoll die Meldung „TarMK GC #3: cleanup completed“ angezeigt. Sie enthält die Größe des Repositorys und die Menge des zurückgewonnenen Speicherplatzes.
Wie kann die Integrität des Repositorys nach Abschluss der Online-Revisionsbereinigung überprüft werden?

Nach der Online-Revisionsbereinigung ist keine Repository-Integritätsprüfung erforderlich.

Sie können jedoch die folgenden Aktionen ausführen, um den Repository-Status nach der Bereinigung zu überprüfen:

  • Eine Traversal-Überprüfung für das Repository
  • Verwenden Sie das Tool „oak-run“ nach Abschluss des Bereinigungsprozesses, um nach Inkonsistenzen zu suchen. Weitere Informationen hierzu finden Sie in der Apache-Dokumentation. Sie müssen AEM nicht beenden, um das Tool auszuführen.
Wie kann ich feststellen, ob die Online-Revisionsbereinigung fehlgeschlagen ist, und welche Wiederherstellungsschritte sind erforderlich?
Fehlerbedingungen sind durch WARN- oder ERROR-Protokollmeldungen gekennzeichnet, die mit „TarMK GC“ beginnen. Siehe auch Fehlerbehebung basierend auf Fehlermeldungen unten.
Welche Daten werden einer Konsistenzprüfiung bei der Online-Revisionsbereinigung unterzogen? Wie und wann tragen sie zu den farbkodierten Statusstufen bei?

Die Konsistenzprüfung der Revisionsbereinigung ist Teil des Vorgangs-Dashboards.

Der Status ist GRÜN, falls die letzte Wartungsaufgabe für die Online-Revisionsbereinigung erfolgreich abgeschlossen wurde.

Er ist GELB, wenn die Wartungsaufgabe für die Online-Revisionsbereinigung einmal abgebrochen wurde.

Er ist ROT, wenn die Wartungsaufgabe für die Online-Revisionsbereinigung dreimal nacheinander abgebrochen wurde. In diesem Fall ist eine manuelle Interaktion erforderlich oder die Online-Revisionsbereinigung schlägt wahrscheinlich wieder fehl. Weitere Informationen finden Sie im Abschnitt Fehlerbehebung unten.

Beachten Sie außerdem, dass der Status der Konsistenzprüfung nach jedem Systemneustart zurückgesetzt wird. Bei einer neu gestarteten Instanz wird der Status bei der Konsistenzprüfung der Revisionsbereinigung daher als grün angezeigt. Sie können externe Überwachungs-Tools verwenden, um Daten über die AEM-Laufzeit hinaus aufzubewahren. In der AEM-Dokumentation finden Sie Informationen zum Anhängen von Konsistenzprüfungen an Nagios als Beispiel für ein externes Überwachungs-Tool.

Wie wird die automatische Bereinigung auf einer Standby-Instanz überwacht?

Status, Fortschritt und Statistiken werden über JMX mithilfe des MBean SegmentRevisionGarbageCollection verfügbar gemacht. Siehe auch die folgende Oak-Dokumentation.

Sie können eine MBean-Referenz mit ObjectName org.apache.jackrabbit.oak:name="Segment node store revision garbage collection",type="SegmentRevisionGarbageCollection" abrufen.

Statistiken sind nur ab dem letzten Systemstart verfügbar. Sie können externe Überwachungs-Tools verwenden, um Daten über die AEM-Laufzeit hinaus aufzubewahren. In der AEM-Dokumentation finden Sie Informationen zum Anhängen von Konsistenzprüfungen an Nagios als Beispiel für ein externes Überwachungs-Tool.

Anhand der Protokolldateien können Sie auch den Status, den Fortschritt und die Statistiken der automatischen Bereinigung überprüfen.

Was muss während der automatischen Bereinigung auf einer Standby-Instanz überwacht werden?
  • Der Festplattenspeicher sollte überwacht werden, wenn die automatische Bereinigung ausgeführt wird.
  • Die Ausführungsdauer (siehe Protokolle) sollte zwei Stunden nicht überschreiten.
  • Die Größe des Segmentspeichers nach der automatischen Bereinigung. Der Segmentspeicher auf der Standby-Instanz sollte ungefähr so groß wie der auf der primären Instanz sein.

Fehlerbehebung bei der Online-Revisionsbereinigung troubleshooting-online-revision-cleanup

Was kann schlimmstenfalls passieren, falls die Online-Revisionsbereinigung nicht ausgeführt wird?
Die AEM-Instanz hat keinen Speicherplatz mehr, was zu Produktionsausfällen führt.
Ist ein hoher Benutzer-Traffic problematisch, wenn ich die Online-Revisionsbereinigung auf einer Veröffentlichungsinstanz ausführen möchte?
Hoher Benutzer-Traffic wirkt sich darauf aus, ob die Komprimierungsphase erfolgreich abgeschlossen wird oder nicht.
Gemäß Konsistenzprüfung und Protokolleinträgen ist die Online-Revisionsbereinigung dreimal in Folge fehlgeschlagen. Was ist erforderlich, um die Online-Revisionsbereinigung erfolgreich abzuschließen?

Sie können mehrere Schritte ausführen, um das Problem zu finden und zu beheben:

  • Überprüfen Sie zunächst die Protokolleinträge.

  • Gehen Sie je nach den Informationen in den Protokollen wie folgt vor:

    • Falls in den Protokolldateien fünf übersprungene Komprimierungszyklen und eine Zeitüberschreitung beim forceCompact-Zyklus angezeigt werden, planen Sie das Wartungsfenster für einen ruhigen Zeitraum, in dem wenige Schreibvorgänge im Repository erfolgen. Sie können das Repository mit dem Überwachungs-Tool für Repository-Metriken auf Schreibvorgänge überprüfen. Das Tool finden Sie unter https://serveraddress:serverport/libs/granite/operations/content/monitoring/page.html
    • Wenn die Bereinigung am Ende des Wartungsfensters angehalten wurde, stellen Sie sicher, dass in der Konfiguration des Wartungsfensters auf der Benutzeroberfläche für Wartungsaufgaben ein genügend großes Zeitfenster festgelegt ist.
    • Wenn der verfügbare Heap-Speicher nicht ausreicht, stellen Sie sicher, dass die Instanz über ausreichend Speicher verfügt.
    • Im Falle einer verspäteten Reaktion kann der Segmentspeicher zu stark anwachsen, sodass eine Online-Revisionsbereinigung selbst innerhalb eines längeren Wartungsfensters nicht abgeschlossen werden kann. Wenn beispielsweise in der letzten Woche eine Online-Revisionsbereinigung nicht erfolgreich abgeschlossen wurde, wird empfohlen, eine Offline-Wartung zu planen und die Offline-Revisionsbereinigung auszuführen, um den Segmentspeicher wieder auf eine überschaubare Größe zu bringen.
Wie ist vorzugehen, wenn die Warnfunktion bei der Konsistenzprüfung aktiviert ist?
Siehe vorherigen Punkt.
Was passiert, wenn die Zeit bei der Online-Revisionsbereinigung in einem geplanten Wartungsfenster überschritten wird?
Die Online-Revisionsbereinigung wird abgebrochen und die verbleibenden Elemente werden entfernt. Sie wird im nächsten geplanten Wartungsfenster erneut gestartet.
Was verursacht SegmentNotFoundException-Instanzen im error.log-Protokoll und wie erreiche ich eine Wiederherstellung?

SegmentNotFoundException wird von TarMK beim Versuch protokolliert, auf eine Speichereinheit (ein Segment) zuzugreifen, die nicht auffindbar ist. Es gibt drei Szenarien, die dieses Problem verursachen können:

  1. Eine Anwendung, die die empfohlenen Zugriffsmechanismen (wie Sling und die JCR-API) umgeht und eine API/SPI auf niedrigerer Ebene verwendet, um auf das Repository zuzugreifen, und dann die Aufbewahrungsdauer eines Segments überschreitet. Das heißt, sie bewahrt einen Verweis auf eine Entität länger auf als die von der Online-Revisionsbereinigung erlaubte Aufbewahrungsdauer (standardmäßig 24 Stunden). Dieser Fall ist vorübergehend und führt nicht zu einer Beschädigung der Daten. Verwenden Sie für die Wiederherstellung das Tool „oak-run“, um den vorübergehenden Status der Ausnahme zu bestätigen (bei der Überprüfung mit „oak-run“ sollten keine Fehler gemeldet werden). Hierzu müssen Sie die Instanz in den Offline-Modus versetzen und anschließend neu starten.
  2. Ein externes Ereignis verursachte die Beschädigung der Daten auf der Festplatte. Dabei kann es sich um einen Datenträgerfehler, ungenügenden Speicherplatz oder eine versehentliche Änderung der erforderlichen Datendateien handeln. In diesem Fall muss die Instanz offline geschaltet und mithilfe der Prüfung mit „oak-run“ repariert werden. Weitere Informationen zum Ausführen von Prüfungen mit „oak-run“ finden Sie in der Apache-Dokumentation.
  3. Bei allen anderen Vorfällen wenden Sie sich an die Adobe-Kundenunterstützung.

Fehlerbehebung basierend auf Fehlermeldungen troubleshooting-based-on-error-messages

Die Fehlerprotokolleinträge sind ausführlich, falls es bei der Online-Revisionsbereinigung Probleme gab. In der folgenden Matrix werden die häufigsten Fehlermeldungen und mögliche Lösungen erläutert:

Phase
Protokollmeldungen
Erklärung
Nächste Schritte
Schätzung
TarMK GC #2: estimation skipped because compaction is paused
Die Schätzungsphase wird übersprungen, wenn die Komprimierung im System durch die Konfiguration deaktiviert ist.
Aktivieren Sie die Online-Revisionsbereinigung.
Nicht zutreffend
TarMK GC #2: estimation interrupted: ${REASON}. Skipping compaction.
Die Schätzungsphase wurde frühzeitig beendet. Beispiele für Ereignisse, die die Schätzungsphase unterbrechen können: ungenügender Arbeitsspeicher oder Festplattenspeicher auf dem Host-System.
Hängt von der Ursache ab.
Komprimierung
TarMK GC #2: compaction paused.
Solange die Komprimierungsphase durch die Konfiguration angehalten wird, werden weder die Schätzungsphase noch die Komprimierungsphase ausgeführt.
Aktivieren Sie die Online-Revisionsbereinigung.
Nicht zutreffend
TarMK GC #2: compaction cancelled: ${REASON}.
Die Komprimierungsphase wurde frühzeitig beendet. Beispiele für Ereignisse, die die Komprimierungsphase unterbrechen können: ungenügender Arbeitsspeicher oder Festplattenspeicher auf dem Host-System. Eine Komprimierung kann auch abgebrochen werden, indem das System heruntergefahren wird oder indem sie explizit über administrative Schnittstellen wie das Wartungsfenster im Vorgangs-Dashboard abgebrochen wird.
Hängt von der Ursache ab.
Nicht zutreffend
TarMK GC #2: Die Verdichtung scheiterte in 32.902 min (1974140 ms), nach 5 Zyklen.
Diese Meldung bedeutet nicht, dass ein nicht behebbarer Fehler aufgetreten ist, sondern nur, dass die Komprimierung nach einigen Versuchen beendet wurde. Lesen Sie auch den folgenden Absatz.
Lesen Sie die folgende Oak-Dokumentation und die letzte Frage im Abschnitt „Ausführen der Online-Revisionsbereinigung“.
Bereinigen
TarMK GC #2: cleanup interrupted
Die Bereinigung wurde durch Herunterfahren des Repositorys abgebrochen. Es sind keinerlei Auswirkungen auf die Konsistenz zu erwarten. Außerdem wird wahrscheinlich nicht der gesamte Festplattenspeicher zurückgewonnen. Dieser wird beim nächsten Revisionsbereinigungszyklus zurückgewonnen.
Finden Sie heraus, warum das Repository heruntergefahren wurde, und versuchen Sie in Zukunft, das Repository nicht während eines Wartungsfensters herunterzufahren.

Ausführen der Offline-Revisionsbereinigung how-to-run-offline-revision-cleanup

CAUTION
Verwenden Sie eine Version des Oak-run-Tools mit einer Versionsnummer (sowohl Haupt- als auch Nebenversion), die mit der Oak-Kernversion Ihrer AEM-Installation übereinstimmt. Wenn Ihre AEM-Instanz beispielsweise über die Oak-Kernversion 1.22.x verfügt, sollten Sie die neueste Version des Oak-run-Tools 1.22.x verwenden.

Adobe stellt ein Tool namens Oak-run für die Ausführung von Revisionsbereinigungen bereit. Es kann unter folgender URL heruntergeladen werden:

https://repo1.maven.org/maven2/org/apache/jackrabbit/oak-run/

Das Tool ist eine ausführbare JAR-Datei, die manuell ausgeführt werden kann, um das Repository zu komprimieren. Dieser Vorgang wird als Offline-Revisionsbereinigung bezeichnet, da das Repository zum korrekten Ausführen des Tools heruntergefahren werden muss. Planen Sie die Bereinigung entsprechend Ihrem Wartungsfenster.

Tipps, wie Sie die Leistung des Bereinigungsvorgangs steigern können, finden Sie unter Steigern der Leistung der Offline-Revisionsbereinigung.

NOTE
Sie können auch alte Checkpoints löschen, bevor die Wartung durchgeführt wird (Schritte 2 und 3 im unten beschriebenen Verfahren). Dies wird nur für Instanzen mit mehr als 100 Checkpoints empfohlen.
  1. Stellen Sie stets sicher, dass Sie über eine aktuelle Sicherung der AEM-Instanz verfügen.

    Fahren Sie AEM herunter.

  2. (Optional) Verwenden Sie das Tool, um alte Checkpoints zu finden:

    code language-xml
    java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore
    
  3. (Optional) Löschen Sie dann die nicht referenzierten Checkpoints:

    code language-xml
    java -jar oak-run.jar checkpoints install-folder/crx-quickstart/repository/segmentstore rm-unreferenced
    
  4. Führen Sie die Komprimierung aus und warten Sie, bis sie abgeschlossen ist:

    code language-xml
    java -jar -Dsun.arch.data.model=32 oak-run.jar compact install-folder/crx-quickstart/repository/segmentstore
    

Erhöhen der Leistung der Offline-Revisionsbereinigung increasing-the-performance-of-offline-revision-cleanup

Das Oak-run-Tool führt mehrere Funktionen ein, die die Leistung des Revisionsbereinigungsprozesses steigern und das Wartungsfenster so weit wie möglich minimieren sollen.

Die Liste enthält einige Befehlszeilenparameter, wie im Folgenden beschrieben:

  • -mmap. Sie können für diese Option „true“ oder „false“ festlegen. Wenn dies auf „true“ festgelegt ist, wird der Zugriff mit Speicherzuordnung verwendet. Wenn dies auf „false“ festgelegt ist, wird der Dateizugriff verwendet. Wenn kein Wert angegeben ist, wird auf 64-Bit-Systemen Zugriff mit Speicherzuordnung und auf 32-Bit-Systemen Dateizugriff verwendet. Unter Windows wird immer der reguläre Dateizugriff erzwungen, sodass diese Option ignoriert wird. Dieser Parameter ersetzt den Parameter -Dtar.memoryMapped.

  • -Dupdate.limit. Definiert den Schwellenwert für das Leeren einer temporären Transaktion auf die Festplatte. Der Standardwert ist 10.000.

  • -Dcompress-interval. Anzahl der Komprimierungszuordnungseinträge, die bis zum Komprimieren der aktuellen Zuordnung beibehalten werden sollen. Der Standardwert ist 1.000.000. Sie sollten diesen Wert auf eine noch höhere Zahl erhöhen, um einen schnelleren Durchsatz zu erzielen, wenn ausreichend Heap-Speicher verfügbar ist. Dieser Parameter wurde in der Oak-Version 1.6 entfernt und hat keine Auswirkung.

  • -Dcompaction-progress-log. Die Anzahl der komprimierten Knoten, die protokolliert werden. Der Standardwert ist 150.000, d. h., die ersten 150.000 komprimierten Knoten werden bei einem Vorgang protokolliert. Verwenden Sie dies in Verbindung mit dem nächsten Parameter, der im Folgenden beschrieben wird.

  • -Dtar.PersistCompactionMap. Legen Sie für diesen Parameter „true“ fest, um Festplattenspeicher statt Heap-Speicher für eine persistente Komprimierungszuordnung zu verwenden. Erfordert Version 1.4 und höher des Tools „oak-run“. Weitere Informationen finden Sie unter Frage 3 im Abschnitt Häufig gestellte Fragen zur Offline-Revisionsbereinigung. Dieser Parameter wurde in der Oak-Version 1.6 entfernt und hat keine Auswirkung.

  • –force. Erzwingt die Komprimierung und ignoriert eine nicht übereinstimmende Segmentspeicherversion.

CAUTION
Mit dem Parameter --force wird der Segmentspeicher auf die neueste Version aktualisiert, die nicht mit älteren Oak-Versionen kompatibel ist. Beachten Sie auch, dass kein Downgrade möglich ist. In der Regel sollten Sie diese Parameter mit Vorsicht verwenden und sie nur nutzen, wenn Sie sich mit ihrer Verwendung auskennen.

Ein Beispiel für die verwendeten Parameter:

java -Dupdate.limit=10000 -Dcompaction-progress-log=150000 -Dlogback.configurationFile=logback.xml -Xmx8g -jar oak-run-*.jar checkpoints <repository>

Zusätzliche Methoden zum Auslösen der Revisionsbereinigung additional-methods-of-triggering-revision-cleanup

Zusätzlich zu den oben beschriebenen Methoden können Sie den Revisionsbereinigungsmechanismus auch wie folgt mithilfe der JMX-Konsole auslösen:

  1. Öffnen Sie die JMX-Konsole, indem Sie zu http://localhost:4502/system/console/jmx wechseln.
  2. Klicken Sie auf MBean RevisionGarbageCollection.
  3. Klicken Sie im nächsten Fenster auf startRevisionGC() und dann auf Invoke, um den Vorgang der Revisionsbereinigung zu starten.

Häufig gestellte Fragen zur Offline-Revisionsbereinigung offline-revision-cleanup-frequently-asked-questions

Welche Faktoren bestimmen die Dauer der Offline-Revisionsbereinigung?
Die Größe des Repositorys und die Anzahl der Revisionen, die bereinigt werden müssen, bestimmen die Dauer der Bereinigung.
Was ist der Unterschied zwischen einer Revision und einer Seitenversion?
  • Oak-Revision: Oak organisiert den gesamten Inhalt in einer großen Baumstruktur, die aus Knoten und Eigenschaften besteht. Jeder Schnappschuss oder jede Revision dieser Inhaltsstruktur ist unveränderlich, und Änderungen an der Baumstruktur werden als eine Abfolge neuer Revisionen ausgedrückt. Normalerweise wird bei jeder Inhaltsänderung eine neue Revision ausgelöst. Siehe auch Link folgen.
  • Seitenversion: Durch die Versionierung wird eine „Momentaufnahme“ einer Seite zu einem bestimmten Zeitpunkt festgehalten. In der Regel wird eine neue Version erstellt, wenn eine Seite aktiviert ist. Weitere Informationen finden Sie unter Arbeiten mit Seitenversionen.
Wie kann ich die Offline-Revisionsbereinigung beschleunigen, wenn diese Aufgabe nicht innerhalb von acht Stunden abgeschlossen wird?
Wenn die Revisionsaufgabe nicht innerhalb von acht Stunden abgeschlossen wird und die Thread-Dumps zeigen, dass InMemoryCompactionMap.findEntry das Hauptproblem ist, verwenden Sie mit den Versionen 1.4 oder höher des Tools „oak-run“ den folgenden Parameter: -Dtar.PersistCompactionMap=true. Der Parameter -Dtar.PersistCompactionMap ist in der Oak-Version 1.6 nicht mehr vorhanden.
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2