AEM Managed Services發佈者因Sling Scripting JSP競爭條件而無法正常運作

本文說明如何解決Adobe Experience Manager (AEM) Managed Services發佈者因Apache Sling Scripting JSP模組中競爭條件(通常由記憶體壓力觸發)而健康不佳的案例。 此解決方案包含套用Adobe支援提供的Hotfix。

說明 description

環境

Adobe Experience Manager (AEM) Managed Services (所有支援的版本)

症狀

  • 由於健康情況檢查失敗,已從負載平衡器移除發佈器執行個體。
  • 服務會在重新啟動後還原,但問題會再次發生。
  • 錯誤記錄檔會顯示與JSP編譯及檔案刪除失敗相關的例外狀況,例如:

org.apache.sling.scripting.sightly.SightlyException: org.apache.sling.api.SlingException:處理JSP頁面時發生例外狀況……classFile.delete()失敗

  • 問題無法隨選重現。
  • 潛在業務影響:如果發佈者健全狀態未及時恢復,則所有一般使用者都可能受到影響。

原因

Apache Sling Scripting JSP模組中的競爭條件(由記憶體壓力和SoftReference快取移除觸發)可讓平行執行緒處理相同的已編譯JSP類別。 這會導致不穩定及發佈者健康情況檢查失敗。

解決方法 resolution

請依照下列步驟解決問題:

  1. 如上所述,請檢閱AEM發佈者錯誤記錄檔,瞭解與JSP編譯及檔案刪除失敗相關的例外狀況。

  2. 確認症狀與概述的相符(發佈者狀況不良、健康情況檢查失敗、在JSP處理中參照classFile.delete()的錯誤)。

  3. 判斷您目前的AEM Service Pack版本。 此Hotfix適用於AEM 6.5.24和更新版本。 如果您使用舊版,請聯絡Adobe支援以取得指引。

  4. 如果您使用支援的版本,但尚未安裝Hotfix,請透過Experience League支援入口網站,使用Adobe開啟支援票證。 包括:

    • 問題的說明及相關錯誤記錄摘要

    • 您目前的AEM版本和Service Pack層級

    • 確認問題符合本文所述的情境

  5. 從Adobe支援收到Hotfix套件後,請使用AEM套件管理器將其上傳並安裝在您的發佈者執行個體上。 遵循組織的變更管理和部署程式。

  6. 安裝後,請確認下列專案:

    • 在OSGi主控台中,org.apache.sling.scripting.jsp組合處於​ 作用中 ​狀態。

    • 套件組合版本與Hotfix隨附的版本相符。

    • 只會安裝套件的單一執行個體。

  7. 監視發行者健康狀況和錯誤記錄檔,以確認問題已解決。

  8. 如果Hotfix安裝後問題仍然存在,請收集新的執行緒傾印、棧積傾印和錯誤記錄檔,並聯絡Adobe支援以取得進一步分析。

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