Errore "Il record di eccezione DataStoreException non esiste" generato in modalità standby a freddo

Questo funziona come previsto e non indica un problema con il file datastore. Per verificare che l’ID BLOB non sia effettivamente mancante, segui i passaggi descritti nella sezione Risoluzione.

Descrizione description

Ambiente
Adobe Experience Manager (AEM)

Problema
Lo standby a freddo con archivio dati file dedicato genera un avviso sull’ID BLOB mancante simile all’errore qui:

*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)

Risoluzione resolution

Soluzione
Questo funziona come previsto e non indica un problema con il file datastore.

Per verificare che l’ID BLOB non sia effettivamente mancante, effettua le seguenti operazioni:

  1. Prendi ad esempio l'ID BLOB di esempio che risulta mancante nei registri (ad esempio: cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20).
  2. Per questo ID BLOB in questo esempio, l'indirizzo del file system deve essere: ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  3. Cercare il file system nell'istanza in standby e verificare se il file denominato è presente nell'archivio dati dei file.
  4. In /repository/datastore, utilizzare il comando list, ad esempio ls -ald, ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20.
  5. Dovresti essere in grado di visualizzare il file e confermare che l’ID BLOB non sia effettivamente mancante.

Causa

Questo è solo un avviso, non un errore. Deriva dal fatto che il file datastore non ha modo di verificare se esiste localmente un binario, se non tentando di caricare l’ID BLOB. Se l’ID viene caricato, i registri non mostrano questo avviso. Tuttavia, se non viene trovato, lo standby sa che deve sincronizzarlo, quindi questo è il motivo per cui si vede questo tipo di avviso nei registri.

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