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
請依照下列步驟解決問題:
-
如上所述,請檢閱AEM發佈者錯誤記錄檔,瞭解與JSP編譯及檔案刪除失敗相關的例外狀況。
-
確認症狀與概述的相符(發佈者狀況不良、健康情況檢查失敗、在JSP處理中參照
classFile.delete()的錯誤)。 -
判斷您目前的AEM Service Pack版本。 此Hotfix適用於AEM 6.5.24和更新版本。 如果您使用舊版,請聯絡Adobe支援以取得指引。
-
如果您使用支援的版本,但尚未安裝Hotfix,請透過Experience League支援入口網站,使用Adobe開啟支援票證。 包括:
-
問題的說明及相關錯誤記錄摘要
-
您目前的AEM版本和Service Pack層級
-
確認問題符合本文所述的情境
-
-
從Adobe支援收到Hotfix套件後,請使用AEM套件管理器將其上傳並安裝在您的發佈者執行個體上。 遵循組織的變更管理和部署程式。
-
安裝後,請確認下列專案:
-
在OSGi主控台中,
org.apache.sling.scripting.jsp組合處於 作用中 狀態。 -
套件組合版本與Hotfix隨附的版本相符。
-
只會安裝套件的單一執行個體。
-
-
監視發行者健康狀況和錯誤記錄檔,以確認問題已解決。
-
如果Hotfix安裝後問題仍然存在,請收集新的執行緒傾印、棧積傾印和錯誤記錄檔,並聯絡Adobe支援以取得進一步分析。