AEM Managed Services Publisher ist aufgrund einer Sling Scripting JSP-Racebedingung fehlerhaft

In diesem Artikel wird beschrieben, wie Sie ein Szenario beheben, in dem ein Adobe Experience Manager (AEM) Managed Services-Publisher aufgrund einer Race-Bedingung im Apache Sling Scripting JSP-Modul fehlerhaft wird, die normalerweise durch den Speicherdruck ausgelöst wird. Die Lösung umfasst die Anwendung eines Hotfixes, das vom Adobe-Support bereitgestellt wird.

Beschreibung description

Umgebung

Adobe Experience Manager (AEM) Managed Services (alle unterstützten Versionen)

Symptome

  • Die Publisher-Instanz wird aufgrund von Fehlern bei der Konsistenzprüfung aus dem Lastenausgleich entfernt.
  • Der Dienst wird nach einem Neustart wiederhergestellt, das Problem tritt jedoch erneut auf.
  • Fehlerprotokolle zeigen Ausnahmen im Zusammenhang mit Fehlern bei der JSP-Kompilierung und dem Löschen von Dateien an, z. B.:

org.apache.sling.scripting.sightly.SightlyException: org.apache.sling.api.SlingException: Bei der Verarbeitung der JSP-Seite ist eine Ausnahme aufgetreten… classFile.delete() ist fehlgeschlagen

  • Das Problem kann nicht bei Bedarf reproduzierbar sein.
  • Potenzielle Geschäftsauswirkungen: Alle Endbenutzenden können betroffen sein, wenn der Status des Herausgebers nicht sofort wiederhergestellt wird.

Ursache

Eine Race-Condition im Apache Sling Scripting JSP-Modul, die durch den Speicherdruck und die SoftReference-Cache-Entfernung ausgelöst wird, ermöglicht parallelen Threads die Arbeit mit denselben kompilierten JSP-Klassen. Dies führt zu Instabilität und Fehlern bei der Integritätsprüfung des Herausgebers.

Lösung resolution

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

  1. Überprüfen Sie die Fehlerprotokolle des AEM-Herausgebers auf Ausnahmen im Zusammenhang mit Fehlern bei der JSP-Kompilierung und dem Löschen von Dateien, wie oben beschrieben.

  2. Bestätigen Sie, dass die Symptome mit den beschriebenen übereinstimmen (fehlerhafte Publisher-Konfiguration, Fehler bei der Konsistenzprüfung, Fehler bei der Referenzierung von classFile.delete() bei der JSP-Verarbeitung).

  3. Ermitteln Sie Ihre aktuelle Version des AEM Service Packs. Das Hotfix ist für AEM 6.5.24 und höher verfügbar. Wenn Sie eine frühere Version verwenden, wenden Sie sich an den Adobe-Support.

  4. Wenn Sie eine unterstützte Version verwenden und der Hotfix noch nicht installiert ist, öffnen Sie ein Support-Ticket bei Adobe über das Support-Portal für Experience League. Einschließen:

    • Eine Beschreibung des Problems und relevante Auszüge aus dem Fehlerprotokoll

    • Aktuelle AEM-Version und Service Pack-Version

    • Bestätigung, dass das Problem dem in diesem Artikel beschriebenen Szenario entspricht

  5. Sobald Sie das Hotfix-Paket vom Adobe-Support erhalten haben, verwenden Sie den AEM Package Manager , um es hochzuladen und auf Ihren Veröffentlichungsinstanzen zu installieren. Befolgen Sie die Änderungsverwaltungs- und Bereitstellungsverfahren Ihres Unternehmens.

  6. Überprüfen Sie nach der Installation Folgendes:

    • Das org.apache.sling.scripting.jsp-Bundle befindet sich in OSGi Konsole im Status „Aktiv“.

    • Die Bundle-Version entspricht der im Hotfix bereitgestellten.

    • Es wird nur eine einzige Instanz des Bundles installiert.

  7. Überwachen Sie die Integrität und die Fehlerprotokolle der Herausgeber, um zu bestätigen, dass das Problem behoben ist.

  8. Wenn das Problem nach der Hotfix-Installation erneut auftritt, erstellen Sie neue Thread-Dumps, Heap-Dumps und Fehlerprotokolle und wenden Sie sich an den Adobe-Support, um weitere Analysen durchzuführen.

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