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

Descrição

Ambiente

  • Adobe Experience Manager 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 do /system/console/repositorycheck A ferramenta oak-run verifica os arquivos de índice ocultos do Lucene em /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. Isso é documentado em Usar o oak-run.jar para gerenciar índices em AEM Foundation Tutorials.

Resolução

  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 quaisquer arquivos ausentes. Para obter detalhes, siga Usar o oak-run.jar para gerenciar índices em AEM Foundation Tutorials.

O Verificador de consistência do 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 de consistência —ref e —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 'path' é obrigatória).
  • —track - Caminho da pasta inicial 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

Nesta página