在AEM Forms 6.5的工作流程同步期間解析SegmentNotFoundException
本文說明如何解決排程維護後,Adobe Experience Manager (AEM) Forms 6.5中可能發生的工作流程同步失敗和SegmentNotFoundException錯誤,尤其是當完整存放庫壓縮與大量寫入作業重疊時。
說明 description
環境
Adobe Experience Manager (AEM) Forms 6.5 (OSGi,獨立)
問題/症狀
- 排程維護後,工作流程同步化失敗或遺失。
- 在受影響的期間,表單提交和工作流程無法繼續。
- 一段時間後,問題會自動解決。
- 受影響的工作流程工作的記錄中出現下列錯誤:
org.apache.jackrabbit.oak.segment.SegmentNotFoundException - 此問題特定於完整壓縮執行的天數,而不是更輕鬆的維護操作期間。
原因
發生此問題是因為完全壓縮程式會回收仍在使用中工作流程作業參考的舊世代TAR檔案。 如果大量寫入作業(例如完整LDAP同步化)與完整壓縮重疊,則會刪除進行中工作流程所需的區段,而導致SegmentNotFoundException個錯誤。
解決方法 resolution
請依照下列步驟解決此問題:
-
在較低的(非生產)環境中驗證程式,以瞭解命令、預期輸出和整體程式。
-
在進行任何生產變更之前,請對存放庫進行完整且一致的備份或快照。
-
使用Oak-run工具執行存放庫一致性檢查:
-
在執行存放庫層級的作業之前,請確定AEM執行個體已離線。
-
執行以下命令(將
<path-to-oak-run.jar>和<path-to-repository>取代為您的實際路徑):java -jar <path-to-oak-run.jar> check <path-to-repository> -
儘可能針對生產存放庫的備份復本執行分析,以將停機時間降至最低。
-
-
檢閱並調整LDAP同步和完整壓縮工作的排程,以避免重疊,特別是在高寫入作業期間。 請考慮在不同時間執行完全壓縮,或確保在壓縮期間不會發生大量寫入作業。
-
實作變更後,監視工作流程執行和記錄
SegmentNotFoundException錯誤的任何週期: -
檢查AEM error.log和工作流程記錄以瞭解
SegmentNotFoundException模式。 -
如果問題仍然存在,請重複一致性檢查並檢閱任務排程以進行進一步的調整。