在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

请按照以下步骤解决此问题:

  1. 在低级(非生产)环境中验证该过程,以了解命令、预期输出和整个过程。

  2. 在生产中进行任何更改之前,请对存储库进行完整且一致的备份或快照。

  3. 使用oak-run工具执行存储库一致性检查:

    1. 在运行存储库级别的操作之前,请确保AEM实例处于离线状态。

    2. 运行以下命令(将<path-to-oak-run.jar><path-to-repository>替换为您的实际路径):

      java -jar <path-to-oak-run.jar> check <path-to-repository>

    3. 如果可能,请针对生产存储库的备份副本运行分析,以最大限度地减少停机时间。

  4. 审查和调整LDAP同步和完全压缩任务的计划,以避免重叠,特别是在高写操作期间。 考虑在不同时间运行完全压缩,或确保在压缩期间不执行大量写入操作。

  5. 实施更改后,监视工作流执行和日志中是否存在SegmentNotFoundException个重复错误:

  6. 查看AEM error.log和工作流日志,了解SegmentNotFoundException模式。

  7. 如果问题仍然存在,请重复一致性检查并审查任务计划以进行进一步调整。

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