Zuletzt aktualisiert am
30. April 2021
Problem
In den Protokolldateien wird eine SegmentNotFoundException registriert. Das Neustarten von AEM führt dazu, dass der Fehler für einen Tag (oder länger) verschwindet.
Beispiel:
29.09.2017 05:40:27.031 *ERROR* [10.40.228.155 [1506663627021] GET /services/createvaultpackage HTTP/1.1] org.apache.jackrabbit.oak.segment.SegmentNotFoundExceptionListener Segment not found: 6c3c7910-6501-4c0a-af5d-6972006c6145. SegmentId age=654602216ms,segment-generation=17 org.apache.jackrabbit.oak.segment.SegmentNotFoundException: Segment 6c3c7910-6501-4c0a-af5d-6972006c6145 not found at org.apache.jackrabbit.oak.segment.file.FileStore$8.call(FileStore.java:602) ... at org.apache.jackrabbit.oak.plugins.nodetype.ReadOnlyNodeTypeManager.internalGetNodeType(ReadOnlyNodeTypeManager.java:409) at org.apache.jackrabbit.oak.plugins.nodetype.ReadOnlyNodeTypeManager.getNodeType(ReadOnlyNodeTypeManager.java:147) at org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl.initNodeTypes(JcrPackageManagerImpl.java:737) at org.apache.jackrabbit.vault.packaging.impl.JcrPackageManagerImpl.(JcrPackageManagerImpl.java:109) at org.apache.jackrabbit.vault.packaging.PackagingService.getPackageManager(PackagingService.java:49) at customcode.VaultPackageFromSearchServlet.doGet(VaultPackageFromSearchServlet.java:172)
Umgebung
AEM 6.3 und neuere Versionen mit aktivierter Online-Verdichtung
Ursache
Dies kann durch langwierige JCR-Sitzungen und Online-Verdichtung verursacht werden.
Lösung
Vermeiden Sie es, JCR-Sitzungen längere Zeit offen zu halten. Um den Fehler erneut hervorzurufen, führen Sie folgende Schritte aus:
- Schließen Sie die Sitzung und öffnen Sie bei Bedarf eine neue.
- Oder rufen Sie regelmäßig session.refresh(true) auf.
Für weitere Details zum Thema lang laufende Sitzungen als ein Anti-Pattern in AEM 6.x sehen Sie diesen Artikel.