O Modo de Espera a Frio gera o erro "O registro DataStoreException não existe"

Está funcionando conforme o projetado e não indica um problema com o armazenamento de dados de arquivos. Para confirmar que a ID do blob realmente não está ausente, siga as etapas na seção Resolução.

Descrição description

Ambiente
Adobe Experience Manager (AEM)

Problema
O Modo de espera forçado com o Armazenamento de dados de arquivo dedicado lança um aviso sobre a ID de blob ausente semelhante ao erro aqui:

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

Resolução resolution

Solução
Está funcionando conforme o projetado e não indica um problema com o armazenamento de dados de arquivos.

Para confirmar que a ID do blob não está realmente ausente, siga estas etapas:

  1. Por exemplo, use a ID de blob de exemplo exibida como ausente nos logs (Por exemplo: cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20).
  2. Para esta ID de blob neste exemplo, o endereço do sistema de arquivos deve ser: ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20.
  3. Pesquise o sistema de arquivos na instância stand-by e verifique se o arquivo nomeado está presente no Armazenamento de Dados do Arquivo.
  4. Em /repository/datastore, use o comando list (Por exemplo: ls -ald): ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20.
  5. Você deve conseguir ver o arquivo e confirmar que a ID do blob não está realmente ausente.

Causa

Isso é apenas um aviso, não um erro. Ela vem do fato de que o Armazenamento de dados de arquivos não tem como verificar se um binário existe localmente, exceto tentando carregar a ID do blob. Se a ID for carregada, os logs não mostrarão esse aviso. No entanto, se não for encontrado, o standby saberá que precisa sincronizá-lo, portanto, é por isso que você vê esse tipo de aviso nos logs.

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