Cold Standby gibt den Fehler „DataStoreException Record does not exist“ aus

Dies funktioniert wie vorgesehen und weist nicht auf ein Problem mit dem Dateidatenspeicher hin. Um sicherzustellen, dass die Blob-ID tatsächlich nicht fehlt, führen Sie die Schritte im Abschnitt Auflösung aus.

Beschreibung description

Umgebung
Adobe Experience Manager (AEM)

Problem
Cold Standby mit dediziertem Dateidatenspeicher gibt eine Warnung über fehlende Blob-ID aus, ähnlich der hier beschriebenen Fehlermeldung:

*WARN* [ standby-run-1]  org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id xxxxxxxxxx

java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx does not exist

    at org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.load(CacheLIRS.java:1017) [ org.apache.jackrabbit.oak-core-spi:1.10.3]

...

Caused by: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx does not exist

    at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)

Auflösung resolution

Lösung
Dies funktioniert wie vorgesehen und weist nicht auf ein Problem mit dem Dateidatenspeicher hin.

Um sicherzustellen, dass die Blob-ID tatsächlich nicht fehlt, führen Sie die folgenden Schritte aus:

  1. Nehmen wir beispielsweise Ihre Beispiel-Blob-ID, die in den Protokollen als fehlt (Beispiel: cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20).
  2. Für diese Blob-ID in diesem Beispiel sollte die Dateisystemadresse lauten: ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  3. Durchsuchen Sie das Dateisystem auf der Standby-Instanz und überprüfen Sie, ob die benannte Datei im Dateidatenspeicher vorhanden ist.
  4. Verwenden Sie in /repository/datastore den Befehl list (zum Beispiel: ls -ald): ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20.
  5. Sie sollten in der Lage sein, die Datei zu sehen und zu bestätigen, dass die Blob-ID tatsächlich nicht fehlt.

Ursache

Dies ist nur eine Warnung, kein Fehler. Sie kommt daher, dass der Dateidatenspeicher nicht überprüfen kann, ob eine Binärdatei lokal vorhanden ist, es sei denn, er versucht, die Blob-ID zu laden. Wenn die ID geladen wird, wird diese Warnung in den Protokollen nicht angezeigt. Wenn er jedoch nicht gefunden wird, weiß die Standby-Instanz, dass er ihn synchronisieren muss. Daher wird diese Warnung in den Protokollen angezeigt.

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