Executar verificação de consistência do armazenamento de dados via oak-run

Saiba como executar uma verificação de consistência do armazenamento de dados via oak-run no AEM 6.4 e no Oak.

Descrição description

Ambiente

  • Adobe Experience Manager (AEM) 6.4
  • Oak 1.8.8 e versões posteriores

Problema/Sintomas

A ferramenta oak-run é útil ao observar um erro como este:

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 «record ID»
    java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist
    Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record «record ID» does not exist

Ao contrário da interface do usuário do  /system/console/repositorycheck, a ferramenta oak-run verifica os arquivos de índice Lucene ocultos no índice /oak:, além dos caminhos de conteúdo restantes.  Essa ferramenta oferece a opção de restaurar arquivos de índice para o armazenamento de dados ou apenas reconstruir os índices que estão corrompidos, em vez de reindexar todos eles. Isto está documentado em Use oak-run.jar para Gerenciar Índices no AEM Foundation Tutorials.

Resolução resolution

  1. Baixe o oak-run jar 1.8.8 ou a versão posterior no servidor do AEM.

  2. Execute o comando abaixo (mas troque os caminhos para o armazenamento de segmentos e o armazenamento de dados para corresponder ao seu ambiente):

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

  3. O comando gera uma verificação de consistência do armazenamento de dados.

  4. Use a saída para restaurar ou corrigir arquivos ausentes. Para obter detalhes, siga Use oak-run.jar para gerenciar índices no AEM Foundation Tutorials.

O Verificador de consistência para o DataStore também pode listar todas as referências de blob no armazenamento de nó e todas as IDs de blob disponíveis no armazenamento de dados. Use o seguinte comando:

$ java -jar oak-run-*.jar datastorecheck [ --id] [ --ref] [ --consistency] \

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

Forneça uma ou mais destas opções disponíveis:

  • —id - Lista todas as ids no armazenamento de dados.
  • —ref - Lista todas as referências de blob no armazenamento de nós.
  • —consistency - Lista todos os blobs ausentes fazendo uma verificação de consistência.

As opções disponíveis são as seguintes:

  • —store - Caminho para o armazenamento de segmentos do URI mongo (necessário para as opções —ref e —consistency mencionadas acima).
  • —dump - Caminho onde os arquivos serão despejados (opcional). Caso contrário, os arquivos serão despejados no diretório tmp do usuário.
  • —s3ds - Caminho para o arquivo de configuração do S3DataStore.
  • —fds - Caminho para o arquivo de configuração FileDataStore (a propriedade "caminho" é obrigatória).
  • —track - Caminho da pasta base do repositório local (opcional). Ele coloca uma cópia das IDs de blob baixados para serem rastreadas.

Mais itens similares

Verificação do Oak DataStore

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