Problem

Das Tool oak-run ist nützlich, wenn Sie einen Fehler wie den folgenden erkennen:

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 zur /system/console/repositorycheck UI, überprüft das Tool oak-run die ausgeblendeten Lucene-Indexdateien unter /oak: index, zusätzliich zu den restlichen Inhaltspfaden.  Dieses Tool bietet Ihnen die Möglichkeit, Indexdateien im Datenspeicher wiederherzustellen, oder nur die Indizes, die beschädigt sind, wieder herzustellen, anstatt alle neu indizieren zu müssen, wie hier dokumentiert.

Umgebung

AEM 6.3 / Oak 1.6.6 und höhere Versionen

Schritte

  1. Führen Sie den folgenden Befehl aus (tauschen Sie jedoch die Pfade zum Segment- und Datenspeicher entsprechend Ihrer Umgebung aus):

    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/datastore --dump temp --verbose --track

  2. Dieser Befehl gibt eine Einheitlichkeitsüberprüfung des Datenspeichers aus.

  3. Für die Verwendung der Ausgabe, folgen Sie dem Artikel, um fehlende Dateien wieder herzustellen oder zu reparieren.

Hier finden Sie die Dokumentation für das Tool:

Einheitlichkeitsüberprüfer 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]
Es sind folgende Optionen verfügbar:

--ID- Liste aller IDs im Datenspeicher
--Referenz - Liste aller Blob-Referenzen im Knotenspeicher
--Einheitlichkeit - Liste aller fehlenden Blobs durch eine Einheitlichkeitsüberprüfung
Es muss mindestens eine der oben genannten angegeben werden

--store - Pfad zum Segmentspeicher von Mongo uri (erforderlich für --Referenz und --Einheitlichkeitsoption oben)
--Ablage - Pfad, in dem Sie die Dateien abgelegen (optional). Ansonsten werden Dateien im Ordner „tmp“ des Benutzers abgelegt.
--s3ds - Pfad zur S3DataStore-Konfigurationsdatei
--fds - Pfad zur FileDataStore-Konfigurationsdatei („Pfad“-Eigenschaft ist erforderlich)
--Spur - Pfads des lokalen Repository-Home-Ordners (optional). Es platziert eine Kopie der heruntergeladenen Blob-ID, die verfolgt werden sollen.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie