Indexera om ett synkront AEM | AEM, Oak
Om du vill indexera om ett synkront AEM index kan du helt enkelt ange egenskapen reindex till true. Detta kan dock göra att en Oak-instans låser sig, och då måste du skicka indexeringen till en bakgrundstråd. Den här artikeln förklarar hur.
Beskrivning description
Miljö
Adobe Experience Manager
Problem/symtom
Hur indexerar jag om ett synkront Oak-index utan att orsaka driftstopp?
Upplösning resolution
Om du indexerar om ett synkront index genom att helt enkelt ange egenskapen reindex till true resulterar det i en synkron åtgärd som kan göra att en Oak-instans låser sig.
Du kan undvika detta genom att skicka indexering till en bakgrundstråd. Följ stegen nedan:
Steg 1: Indexera om i en bakgrundstråd
-
Ange följande egenskaper från CRXDE Lite i indexdefinitionen för egenskapsindexet som ska aktiveras för asynkron indexering:
code language-none /oak:index/<property index> reindex=true reindex-async=true -
async="async-reindex"bör anges för att verifiera att noden ovan uppdaterar. -
Anropa
startPropertyIndexAsyncReindexpåPropertyIndexAsyncReindexMBean.Detta startar bakgrundsjobbet som skulle söka efter sådana typer av index.
Post-anrop. Du bör se att en omindexering av loggrader utförs…
-
När omindexeringen är klar återställs omindexeringsflaggan till false.
-
Återanropa steg 3 om du vill ändra tillbaka till ett synkroniseringsindex. Om den asynkrona flaggan inte tas bort kan du behöva anropa Mbean flera gånger (detta kan inträffa om det inträffar ändringar som påverkar indexet samtidigt).
Obs! Bara
async="async-reindex"tas bort som de kontroller som indexeringen kommer att utföras på.Egenskapen
reindex-asyncär bara en konfigurationsflagga som inte ändras automatiskt.Tanken är att du skulle ange den en gång för de specifika indexdefinitionerna som styr all framtida omindexering.
Det förväntas sedan stanna där inne och då behöver du inte röra det igen.
Steg 2: Ta bort kontrollpunkten för omindexering (endast AEM 6.2 och tidigare versioner)
Under den asynkrona omindexeringen skapas en databaskontrollpunkt.
När indexeringsaktiviteten är klar måste den släppas enligt beskrivningen nedan för att säkerställa en jämn Revision-skräpinsamling senare:
-
Öppna först CheckpointManager MBean:
På MongoMK -/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DDocument+node+store+checkpoint+management%2Ctype%3DCheckpointManger -
Anropa åtgärden
listCheckpoints(). -
Hitta kontrollpunktsraden med egenskapen
name=async-reindex. -
Kopiera dess ID-värde till Urklipp:
På MongoMK ser det ut ungefär så här:r1234567aaaa-0-1På tarMK ser den ut ungefär så här:
6eac07d0-fe27-4d16-82f8-6d5da4cefd67 -
Öppna sedan åtgärden
releaseCheckpoint(). -
Klistra in det kopierade ID:t som p1 och klicka på Anropa.
-
I det här steget kommer kontrollpunkten att frigöras.