解决Adobe Experience Manager中的SegmentNotFoundException错误
本文介绍如何通过从备份中还原、验证存储库运行状况和执行维护来解决Adobe Experience Manager (AEM)中的 SegmentNotFoundException 错误。
描述 description
Adobe Experience Manager中的 SegmentNotFoundException 错误指示存储库损坏或缺少区段,这可能会导致AEM创作环境无法访问并中断正常操作。 这些错误通常被视为重复日志条目,并且无法访问AEM Author实例。 从上一次已知的良好备份中恢复并验证存储库运行状况是恢复环境并防止出现进一步问题的关键步骤。
环境
Adobe Experience Manager (AEM) Managed Services(所有版本)
症状
- AEM日志中出现 SegmentNotFoundException 错误
- 无法访问或使用AEM创作环境
- 恢复上一次已知工作备份的请求
原因
SegmentNotFoundException错误通常由存储库损坏或缺少区段引起,通常需要通过备份和存储库压缩进行恢复,以解决并防止重复出现。
解决方法 resolution
请按照以下步骤解决问题:
-
识别AEM环境的最新有效备份,确保它包含所有必需的文件,如存储库、数据存储和索引。
-
根据贵组织的备份和还原过程将备份还原到AEM环境。 确保所有组件(存储库、数据存储、索引)都还原到其正确位置。
-
恢复后,运行存储库、数据存储和索引一致性检查以确认已恢复环境的完整性。 对于索引一致性检查,请使用Oak-run工具以及适用于您的环境的相应参数。 命令示例:
java -jar oak-run.jar index --index-consistency-check <datastore-config-path> <segmentstore-path>将
<datastore-config-path>和<segmentstore-path>替换为环境的正确路径。 -
查看一致性检查的输出,确保所有索引均报告为有效。
-
对存储库执行离线压缩以优化存储并防止出现进一步的区段问题。 计划定期离线压缩并禁用在线压缩以降低区段损坏的风险。
-
监视环境是否出现 SegmentNotFoundException 错误。 如果问题仍然存在,请查看日志以了解可能引发区段损坏的长期运行的工作流或流程。
-
(可选)要捕获栈或线程转储以供进一步分析,请按照贵组织的过程,在AEM进程中使用标准Java工具,如
jstack或jmap。