Führen Sie die Konsistenzprüfung des Datenspeichers über oak-run aus.

Erfahren Sie, wie Sie in AEM 6.4 und Oak eine Konsistenzprüfung des Datenspeichers über oak-run durchführen.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) 6.4
  • Oak 1.8.8 und höher

Problem/Symptome

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 «record ID»
    java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
    Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist

Im Gegensatz zur Benutzeroberfläche von  /system/console/repositorycheck überprüft das Tool "oak-run"die ausgeblendeten Lucene-Indexdateien unter dem Index /oak: 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 sie alle neu zu indizieren. Dies wird unter Verwenden von oak-run.jar zum Verwalten von Indizes in AEM Foundation-Tutorials beschrieben.

Lösung resolution

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

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

    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, um fehlende Dateien wiederherzustellen oder zu beheben. Weitere Informationen finden Sie unter Verwenden Sie oak-run.jar zum Verwalten von Indizes in AEM Foundation-Tutorials.

Die Konsistenzprüfung für den DataStore kann auch alle Blob-Referenzen im Knotenspeicher und alle Blob-IDs auflisten, die im Datenspeicher verfügbar sind. 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 - Auflistung aller IDs im Datenspeicher.
  • —ref - Listet alle Blob-Referenzen im Knotenspeicher auf.
  • —consistency - Auflistung aller fehlenden Blobs durch eine Konsistenzprüfung.

Die folgenden Optionen sind fakultativ:

  • —store - Pfad zum Segmentspeicher von mongo uri (erforderlich für —ref und —consistency options oben).
  • —dump - Pfad, in dem die Dateien abgelegt werden sollen (optional). Andernfalls werden die Dateien im Verzeichnis „user/tmp“ abgelegt.
  • —s3ds - Pfad zur S3DataStore-Konfigurationsdatei.
  • —fds - Pfad zur FileDataStore-Konfigurationsdatei ("path"-Eigenschaft ist obligatorisch).
  • —track - Pfad des lokalen Repository-Stammordners (optional). Dadurch wird eine Kopie der zu verfolgenden heruntergeladenen Blob-IDs platziert.

Ähnliche Themen

Oak DataStore-Prüfung

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f