Correggere le incongruenze riavviando AEM 6.3 quando viene segnalato il problema SegmentNotFound

Problema

Si può osservare SegmentNotFoundException nei file di log. Il riavvio di AEM fa sì che l'errore scompaia per un giorno (o più a lungo).

Esempio:

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)

Ambiente

AEM 6.3 e versioni successive con Compattazione Online attivata

Causa

Può essere causato da lunghe sessioni di JCR e dalla compattazione online.

Risoluzione

Evita di tenere aperte le sessioni di JCR per un lungo periodo di tempo.  Per risolvere il problema:

  1. Chiudi la sessione e aprine una nuova quando necessario.
  2. Oppure chiama periodicamente session.refresh(true).

Consulta questo articolo per maggiori dettagli sul tema delle sessioni di lunga durata come anti-pattern in AEM 6.x.

Logo Adobe

Accedi al tuo account