【发布时间】:2020-08-27 15:34:53
【问题描述】:
当作者在实例上工作时,我的 AEM Author 实例每晚都会崩溃。这种情况每天都会发生,但在夜间的任何时间都会发生(作者团队在印度,他们工作时我是晚上)。
我在服务器中安装了 AEM,位于带有 AEM Dispatcher 的 Apache 实例后面。我试图找到崩溃时 HTTP 调用的模式,今天我在日志中发现了一条奇怪的警告消息:
11.05.2020 18:29:50.126 *WARN* [sling-oak-observation-2] org.apache.jackrabbit.oak.segment.DefaultSegmentWriter Large number of modified child nodes: 45000000 @ //oak:index/uuid/:index
此消息在日志中遍布各处,尤其是在实例关闭时。
那条消息是什么意思? JCR repo 真的有一个包含 45000000 个子节点的节点吗?
【问题讨论】:
-
此警告可能与服务器崩溃有关,也可能无关。它抱怨 UUID 索引。可能是您以批处理模式创建页面修订吗?在您的代码中搜索来自 PageManager 的“.createRevision(”。
-
或者您创建了一百万个版本,这是 AEM 版本清除中的错误/过载。这应该是日常维护窗口的一部分。如上所述,您应该检查日常维护窗口不在印度的办公时间(默认情况下,其 2-5 UTC => 7:30 - 10:30 India) - 请参阅主菜单 -> 工具 -> 操作 ->维护
-
谢谢。我在 AEM 6.4 上,然后转到 /libs/granite/operations/content/maintenanceWindow.html/apps/settings/granite/operations/maintenance/granite_daily。 “修订清理”任务是绿色的,正如你所说,它正在印度的同一作者身上运行。但是,此页面还显示此任务仅运行几分钟,例如不到 5 分钟。缓慢的请求分布在 2-3 小时内。
-
这个实例多久被压缩一次?有多少作者同时工作?请查看慢查询健康检查。我还会查看这些指标以了解潜在问题。
-
但是UUID索引很奇怪。也许是配置错误的 MSM?您的页面是否有不同的 UUID(尤其是实时副本)?并且在另一次推出之后保持不变?因此,检查“Day CQ WCM Rollout Manager”的 OSGi 配置。应该有 jcr:* 或 jcr:uuid 一个排除的页面属性。作为最后的手段,我会尝试重新创建 UUID 索引。
标签: nodes aem jcr jackrabbit-oak