Kör konsekvenskontroll av datalager via ekvering

Lär dig hur du kör en konsekvenskontroll av datalager via eko i AEM 6.4 och Oak.

Beskrivning description

Miljö

  • Adobe Experience Manager (AEM) 6.4
  • OS 1.8.8 och senare

Problem/symtom

Verktyget Eak-run är användbart när du upptäcker ett fel som detta:

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

Till skillnad från /system/console/repositorycheck UI kontrollerar ekkörningsverktyget de dolda Lucene-indexfilerna under /oak: index förutom resten av innehållssökvägarna.  Med det här verktyget kan du återställa indexfiler till datalagret eller endast återskapa skadade index i stället för att indexera om alla. Detta dokumenteras i Använd oak-run.jar för att hantera index i AEM Foundation Tutorials.

Upplösning resolution

  1. Ladda ned ekrun jar 1.8.8 eller senare till AEM.

  2. Kör kommandot nedan (men byt ut sökvägarna till segmentlagret och datastorren så att de matchar din miljö):

    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. Kommandot returnerar en konsekvenskontroll för datalager.

  4. Använd utdata för att återställa eller åtgärda saknade filer. Mer information finns här Använd oak-run.jar för att hantera index i AEM Foundation Tutorials.

Konsekvenskontrollen för DataStore kan även visa alla blobreferenser i nodarkivet och alla blob-ID:n som finns i datalagret. Använd följande kommando:

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

[ --store |] \

[ --s3ds |--fds] \

[ --dump] \

[ --track]

Ange ett eller flera av följande tillgängliga alternativ:

  • —id - Visa en lista med alla id:n i datalagret.
  • —ref - Visa alla blobreferenser i nodarkivet.
  • —consistent - Visa en lista över alla blobbar som saknas genom en konsekvenskontroll.

Följande alternativ är valfria:

  • —store - Sökväg till segmentbutiken för mongo-uri (krävs för —ref och —consistent-alternativen ovan).
  • —dump - Sökväg dit filerna ska dumpas (valfritt). I annat fall sparas filerna i användarens tmp-katalog.
  • —s3ds - Sökväg till konfigurationsfilen S3DataStore.
  • —fds - Sökväg till konfigurationsfilen FileDataStore (egenskapen path är obligatorisk).
  • —track - Sökväg till den lokala databasens hemmapp (valfritt). Den placerar en kopia av de hämtade blob-ID:n som ska spåras.

Mer som detta

Oak DataStore-kontroll

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