Risoluzione degli errori ricorrenti di "SegmentNotFoundException" nelle istanze AEM Publish

Un errore ricorrente di SegmentNotFoundException causa l'arresto anomalo delle istanze di pubblicazione di Adobe Experience Manager (AEM) e la mancata risposta. I controlli dell’archivio non mostrano danneggiamenti e il problema persiste dopo il riavvio. Il problema si verifica durante attività di manutenzione come la pulizia della revisione e la raccolta di oggetti inattivi dell’archivio dati a causa di una gestione non corretta del thread. Il passaggio della gestione dei thread da Java nativo ThreadPool a ThreadPoolManager fornito da Sling risolve il problema.

Descrizione description

Ambiente

Adobe Experience Manager (AEM) On-Premises, v6.5.22.0

Problema/Sintomi

  • L'errore SegmentNotFoundException viene visualizzato ripetutamente nei registri dell'istanza di pubblicazione di AEM.
  • L’istanza AEM Publish si blocca e non risponde più.
  • La generazione continua di log degli errori causa un grave blocco I/O del disco.
  • I controlli di coerenza dell’archivio mediante il rapporto oak-run non segnalano danneggiamenti o problemi strutturali.
  • Il problema si ripresenta dopo il riavvio di AEM, anche quando le attività di manutenzione sono pianificate al di fuori dell’orario di lavoro o sono temporaneamente disabilitate.

Risoluzione resolution

Per risolvere il problema, segui la procedura riportata di seguito:

  1. Controlla la gestione delle sessioni nel codice personalizzato e chiudi tutte le sessioni dell’archivio dopo l’utilizzo.
  2. Pianifica la pulizia della revisione e la raccolta di rifiuti dell’archivio dati al di fuori dell’orario di lavoro per ridurre i conflitti.
  3. Accedi alla console JMX all'indirizzo /system/console/jmx e controlla SessionStatistics MBean per le sessioni a esecuzione prolungata o inattive. Utilizza InitStackTrace per identificare le origini del codice personalizzato.
  4. Sostituisci Java nativo ThreadPool con ThreadPoolManager fornito da Sling per tutti i processi in background nei servizi AEM.
  5. Riavvia l’istanza AEM Publish dopo aver implementato queste modifiche.
  6. Monitora i registri errori per diversi giorni per confermare SegmentNotFoundException non viene più visualizzato.
  7. Verificare che le operazioni dell'archivio rimangano stabili e prive di errori.

Considerazioni aggiuntive:

  • I controlli di integrità dell’archivio eseguiti in oak segnalano in modo coerente nodi e proprietà integri, indicando l’assenza di danneggiamenti strutturali.
  • Il problema non viene risolto disabilitando la pulizia delle revisioni o eseguendo la compattazione offline; è necessaria una corretta gestione dei thread.
  • Le opzioni di rimozione manuale dei nodi potrebbero non essere applicabili se FileDataStore è configurato. Verificare sempre l'integrità dell'archivio prima di tentare interventi manuali.

Lettura correlata

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f