Como executar uma 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 Adobe Experience Manager.

Descrição :headding-anchor:description

Ambiente

Adobe Experience Manager (AEM)

Problema

A verificação de consistência do armazenamento de dados relatará todos os binários de armazenamento de dados que estão ausentes, mas ainda são referenciados. A verificação de consistência pode ser acionada diretamente pelo console Felix.

Pode ser disparado de MarkSweepGarbageCollector#checkConsistency Mbean.

Se os BlobGC MBeans estiverem registrados no MBeanServer, o seguinte mbean também poderá ser usado:

BlobGCMbean#checkConsistency

Após a conclusão da verificação de consistência, uma mensagem mostrará o número de binários relatados como ausentes. Se o número for maior que 0(zero), verifique os logs configurados para org.apache.jackrabbit.oak.plugins.blob .MarkSweepGarbageCollector para obter mais detalhes sobre os binários ausentes.

Veja abaixo um exemplo de como os binários ausentes são relatados nos logs:

11:32:39.673 INFO [ main]  MarkSweepGarbageCollector.java:600 Consistency check found 1 missing blobs 11:32:39.673 WARN [ main]  MarkSweepGarbageCollector.java:602 Consistency check failure in the the blob store : DataStore backed BlobStore [ org.apache.jackrabbit.oak.plugins.blob.datastore.OakFileDataStore] , check missing candidates in file /tmp/gcworkdir-1467352959243/gccand-1467352959243

Ao contrário da interface do usuário do /system/console/repositorycheck, a ferramenta oak-run verifica os arquivos de índice do lucene ocultos em /oak: index, além dos caminhos de conteúdo restantes. O comando datastorecheck de oak-run pode ser usado para executar uma verificação de consistência no armazenamento de dados.  As etapas detalhadas sobre como executar o comando estão detalhadas abaixo:

Resolução :headding-anchor:resolution

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

  2. Coloque o jar de execução do oak no mesmo diretório em que crx-quickstart é colocado ou forneça o caminho completo de oak-run-*.jar enquanto executa o comando abaixo.

  3. Execute o comando abaixo (atualize os caminhos para o armazenamento de segmentos e o armazenamento de dados de acordo com seu ambiente):

    code language-none
    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
    
  4. O comando geraria uma verificação de consistência do armazenamento de dados.

O Verificador de consistência do DataStore também pode ser usado para 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 (Obrigató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.

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