Wie indiziere ich einen synchronen Oak-Index ordnungsgemäß neu, ohne dabei Stillstand zu verursachen?
Neuindizieren eines synchronen Indexes, indem einfach die Neuindizierungseigenschaft in einer synchronen Operation auf „wahre Ergebnisse“ gesetzt wird. Dies kann dazu führen, dass eine Oak-Instanz hängenbleibt. Um diese Situation zu vermeiden, muss die Indizierung an einen Hintergrund-Thread gesendet werden. Gehen Sie dazu wie folgt vor:
-
Hinweis: Nur der „async-"async-reindex"“ wird entfernt, da er kontrolliert, auf welchem Thread das Indizieren passieren wird. Die Eigenschaft „reindex-async“ ist nur eine Konfigurationskennzeichnung, die sich nicht automatisch ändert. Die Idee ist, dass Sie dies einmal für eine spezifische Indexdefinition festlegen und damit alle zukünftigen Neuindizierungen kontrollieren. Dies wird voraussichtlich darin bleiben und Sie müssen sich nicht mehr damit beschäftigen.
-
Entfernen des Neuindizierungskontrollpunkts (nur AEM 6.2 und ältere Versionen)
Während des Prozesses der asynchronen Neuindizierung wird ein Repository-Kontrollpunkt erstellt. Nachdem die Indizierungsaufgabe abgeschlossen wurde, muss sie wie unten beschrieben freigegeben werden, um später die reibungslose Revision-Speicherbereinigung zu ermöglichen:
-
Zunächst den CheckpointManager MBean öffnen:
MongoMK -
/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DDocument+node+store+checkpoint+management%2Ctype%3DCheckpointManger
TarMK -
/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3DSegment+node+store+checkpoint+management%2Ctype%3DCheckpointManger
-