在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模式。 -
如果问题仍然存在,请重复一致性检查并审查任务计划以进行进一步调整。