1

My AEM Author instance crashes every night while authors work on the instance. This happen on a daily basis, but at any time during night (the authors team is in India, night for me at the time they work).

I have AEM in a server, behind an Apache instance with AEM Dispatcher in it. I tried to find patters around the HTTP calls that are made at the times of the crashes, and today I came across a weird warning message in logs:

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

This message is spread all over the place in logs, specially around those time when the instance goes down.

What does that message mean? Does the JCR repo really have a node with 45000000 childs?

4

1 回答 1

1

TarMK 持久层无法处理对直接子节点的过多修改。这就是警告消息的内容:

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

不幸的是,这些修改在 UUID 索引中,它不受您的直接控制,而是由 Oak 内部管理。

正如 Alexander Berndt 在他的评论中提到的那样,您可以通过版本清除减少版本数量来减轻 UUID 索引的压力,从而缓解这一缺点。此外,版本清除允许您指定保留策略。如果您的业务案例允许,您可以通过降低保留时间/数量来进一步减少版本数量。

此外,如果您有许多类型的节点,请nt:resource 考虑切换oak:resource. 前者是可引用的,因此在 UUID 索引中被索引,后者不是。

于 2020-05-21T10:13:20.957 回答