Errore "Il record di eccezione DataStoreException non esiste" generato in modalità standby a freddo
Descrizione description
Ambiente
Adobe Experience Manager
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 f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845#25522
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record f68a92b34779bbd194184251ec916370f3ebd301d6e32a8980aad070d57a1845 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 cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20 does not exist
at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)
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.
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:
- Ad esempio, considera l’ID BLOB di esempio che viene visualizzato come mancante nei registri (ad esempio:
cabdc49c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20
). - Per questo ID BLOB in questo esempio, l’indirizzo del file system deve essere:
ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20
. - Cercare il file system nell'istanza in standby e verificare se il file denominato è presente nell'archivio dati dei file.
- Entro
/repository/datastore
, utilizzalist
Ad esempio:ls -ald
) comando:ls -ald ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20
. - Dovresti essere in grado di visualizzare il file e confermare che l’ID BLOB non sia effettivamente mancante.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f