Ausführen einer Einheitlichkeitsüberprüfung des Datenspeichers mit oak-run

Beschreibung

Das Tool "oak-run"ist hilfreich, wenn Sie einen Fehler wie diesen feststellen:

09.11.2017 13:42:17.512 *WARN* async-index-update-async org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id 4089b47c7ba7ab8015859428e7e6965eec4641e3#241
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record 4089b47c7ba7ab8015859428e7e6965eec4641e3 does not exist
Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record 4089b47c7ba7ab8015859428e7e6965eec4641e3 does not exist

Im Gegensatz zu /system/console/repositorycheck Benutzeroberfläche überprüft das Tool oak-run die ausgeblendeten Lucene-Indexdateien unter /oak: -Index zusätzlich zum Rest der Inhaltspfade. Dieses Tool bietet Ihnen die Möglichkeit, Indexdateien im Datenspeicher wiederherzustellen oder nur beschädigte Indizes neu zu erstellen, anstatt alle neu zu indizieren, wie dokumentiert. here.

Umgebung

AEM 6.4 / Oak 1.8.8 und neuere Versionen

Auflösung

  1. Laden Sie oak-run jar 1.8.8 oder eine neuere Version herunter. auf Ihren AEM Server.

  2. Führen Sie den folgenden Befehl aus (tauschen Sie jedoch die Pfade zum Segmentspeicher und Datenspeicher aus, um sie mit Ihrer Umgebung abzustimmen):

    java -jar oak-run-*.jar datastorecheck --consistency --ref --id --fds crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config --repoHome crx-quickstart/repository --store crx-quickstart/repository/segmentstore --dump temp --verbose --track
    
  3. Der -Befehl gibt eine Konsistenzprüfung des Datenspeichers aus.

  4. Verwenden Sie die Ausgabe, folgen Sie Artikel , um fehlende Dateien wiederherzustellen oder zu beheben.

Die Konsistenzprüfung für den DataStore kann auch verwendet werden, um alle Blob-Referenzen im Knotenspeicher und alle Blob-IDs im Datenspeicher aufzulisten. Verwenden Sie den folgenden Befehl:

$ java-jar oak-run-*.jar datastorecheck --id --ref --consistency \
--store | \
--s3ds |--fds \
--dump \
--track

Geben Sie eine oder mehrere der folgenden verfügbaren Optionen an:

  • --id - Listet alle IDs im Datenspeicher auf.
  • --ref - Listet alle Blob-Referenzen im Knotenspeicher auf.
  • --consistency - Auflistung aller fehlenden Blobs durch eine Konsistenzprüfung.

Die folgenden Optionen sind optional:

  • --store - Pfad zum Segmentspeicher von mongo uri (erforderlich für --ref und --consistency Optionen weiter oben).
  • --dump - Pfad, in dem die Dateien abgelegt werden sollen (optional). Andernfalls werden die Dateien im Ordner "Benutzer-TMP"abgelegt.
  • --s3ds - Pfad zur S3DataStore-Konfigurationsdatei.
  • --fds - Pfad zur FileDataStore-Konfigurationsdatei ("path"-Eigenschaft ist obligatorisch).
  • --track - Pfad des lokalen Repository-Basisordners (optional). Dadurch wird eine Kopie der heruntergeladenen Blob-IDs platziert, die verfolgt werden sollen.

Ähnliche Themen

Oak DataStore-Prüfung

Auf dieser Seite