AEM as a Cloud Service-Pipeline steckt aufgrund benutzerdefinierter Oak-/Lucene-Indexprobleme im Status „WIRD AUSGEFÜHRT“ fest

In diesem Artikel wird beschrieben, wie Sie Situationen beheben können, in denen eine Adobe Experience Manager (AEM) as a Cloud Service-Bereitstellungs-Pipeline aufgrund von Problemen mit benutzerdefinierten Oak/Lucene-Indizes im Status WIRD AUSGEFÜHRT feststeckt.

Beschreibung description

Umgebung

Adobe Experience Manager as a Cloud Service (AEMaaCS), alle Versionen mit Cloud Manager-Pipelines.

Problem/Symptome

  • Die Cloud Manager-Bereitstellungs-Pipeline verbleibt über einen längeren Zeitraum im Status WIRD AUSGEFÜHRT und wird nicht abgeschlossen.
  • Die Bereitschaftsprüfung der Umgebung ist blockiert, was einen Fortschritt der Pipeline verhindert.
  • Bei der Indizierung von Vorgangslogs werden Fehler angezeigt, wie etwa:
Error while processing an index write operation java.io.IOException: Invalid byte range request for [ /oak:index/cqPageLucene-custom-1] ...
  • Dateisystemfehler wie:
java.nio.file.NoSuchFileException
  • Benutzerdefinierte Indexknoten, wie /oak:index/cqPageLucene-custom-1 und /oak:index/damAssetLucene-11-custom-4, werden im Repository angezeigt, auch wenn sie nicht in der aktuellen Codebasis vorhanden sind.
  • Das manuelle Löschen dieser Indexknoten in CRXDE ist nur vorübergehend, da sie nach der erneuten Bereitstellung wieder angezeigt werden können.

Ursache

Die Pipeline ist blockiert, da die Bereitschaftsprüfung für die Umgebung aufgrund eines beschädigten oder inkonsistenten benutzerdefinierten Oak/Lucene-Index nicht abgeschlossen werden kann. Verhindert, dass der Indizierungsauftrag abgeschlossen wird, sodass die Pipeline im Status WIRD AUSGEFÜHRT feststeckt. Das manuelle Löschen von Indexknoten ist nicht persistent. Eine ordnungsgemäße Entfernung erfordert die Aktualisierung der Codebasis und die Verwendung des unterstützten Ansatzes zur Indexverwaltung.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Überprüfen Sie die Indizierungsauftragsprotokolle und identifizieren Sie Fehler im Zusammenhang mit benutzerdefinierten Indizes, z. B. /oak:index/cqPageLucene-custom-1. Überprüfen Sie, ob die Indexknoten in der Codebasis unter ui.apps/src/main/content/jcr_root/_oak_index/ oder in einer diff.json vorhanden sind.
  2. Durchsuchen Sie das Repository nach Definitionen der problematischen Indizes, z. B. cqPageLucene-custom-1 oder damAssetLucene-11-custom-4. Löschen Sie diese Definitionen aus _oak_index oder beliebigen Index-Inhaltspaketen und übertragen Sie dann die Änderungen.
  3. Geben Sie mithilfe des vereinfachten Indexverwaltungsmodells alle benutzerdefinierten Indexänderungen in /oak:index/diff.index/diff.json an. Stellen Sie den aktualisierten Code über Cloud Manager bereit.
  4. Nachdem Sie die Codebasis bereinigt und bestätigt haben, dass nur die beabsichtigten Anpassungen in diff.json vorhanden sind, stellen Sie über Cloud Manager erneut bereit. Die Pipeline sollte erfolgreich abgeschlossen werden, wenn kein Indexfehler mehr vorhanden ist.
  5. Wenn das Problem weiterhin besteht, überprüfen Sie die Protokolle auf Dateisystemfehler oder Beschädigungen des Lucene-Segments. Erstellen Sie den betroffenen Index neu, indem Sie den problematischen Laufzeitknoten entfernen und erneut bereitstellen.
  6. Nach der erneuten Bereitstellung sollte die Pipeline erfolgreich abgeschlossen und die Umgebung als bereit markiert werden.

Hinweise

  • Die Plattform generiert bei Bedarf neue *-custom-*-Knoten und gibt nicht verwendete ältere Versionen im Laufe der Zeit automatisch wieder frei.
  • Vermeiden Sie es, Indexknoten manuell in CRXDE als permanente Lösung zu löschen, da die Knoten bei späteren Bereitstellungen neu erstellt werden können, wenn die Codebasis oder diff.json noch auf sie verweist.

Verwandtes Lesen

Inhaltssuche und -indizierung

recommendation-more-help
experience-cloud-kcs-help-kbarticles