Risoluzione di SegmentNotFoundException durante la sincronizzazione del flusso di lavoro in AEM Forms 6.5
Questo articolo spiega come risolvere gli errori di sincronizzazione del flusso di lavoro e gli errori SegmentNotFoundException che possono verificarsi in Adobe Experience Manager (AEM) Forms 6.5 dopo la manutenzione pianificata, in particolare quando la compattazione completa dell’archivio si sovrappone a pesanti operazioni di scrittura.
Descrizione description
Ambiente
Adobe Experience Manager (AEM) Forms 6.5 (OSGi, indipendente)
Problema/Sintomi
- La sincronizzazione del flusso di lavoro non riesce o risulta mancante dopo la manutenzione pianificata.
- L’invio di moduli e i flussi di lavoro non possono procedere durante il periodo in questione.
- Il problema si risolve automaticamente dopo un certo periodo di tempo.
- Nei registri viene visualizzato il seguente errore per i processi del flusso di lavoro interessati:
org.apache.jackrabbit.oak.segment.SegmentNotFoundException - Il problema è specifico dei giorni in cui viene eseguita una compattazione completa, non durante operazioni di manutenzione più leggere.
Causa
Questo problema si verifica perché il processo di compattazione completo recupera i file TAR di vecchia generazione a cui fanno ancora riferimento i processi di flusso di lavoro attivi. Se le operazioni di scrittura più complesse, ad esempio la sincronizzazione LDAP completa, si sovrappongono alla compattazione completa, i segmenti richiesti dai flussi di lavoro in corso verranno eliminati, generando SegmentNotFoundException errori.
Risoluzione resolution
Per risolvere il problema, segui la procedura riportata di seguito:
-
Convalida la procedura in un ambiente inferiore (non di produzione) per comprendere i comandi, l’output previsto e il processo complessivo.
-
Prima di apportare qualsiasi modifica nell’ambiente di produzione, esegui un backup o un’istantanea dell’archivio completa e coerente.
-
Esegui una verifica di coerenza dell’archivio utilizzando lo strumento oak-run:
-
Assicurati che l’istanza di AEM sia offline prima di eseguire operazioni a livello di archivio.
-
Esegui il comando seguente (sostituisci
<path-to-oak-run.jar>e<path-to-repository>con i percorsi effettivi):java -jar <path-to-oak-run.jar> check <path-to-repository> -
Se possibile, eseguire l’analisi su una copia di backup del repository di produzione per ridurre al minimo i tempi di inattività.
-
-
Rivedi e regola la pianificazione delle attività di sincronizzazione LDAP e compattazione completa per evitare sovrapposizioni, soprattutto durante le operazioni di scrittura elevate. È consigliabile eseguire la compattazione completa in un momento diverso o assicurarsi che non si verifichino operazioni di scrittura pesanti durante la compattazione.
-
Dopo aver implementato le modifiche, monitora l’esecuzione del flusso di lavoro e registra l’eventuale ricorrenza di
SegmentNotFoundExceptionerrori: -
Controllare i registri di AEM error.log e del flusso di lavoro per il modello
SegmentNotFoundException. -
Se i problemi persistono, ripetere la verifica di coerenza e rivedere la pianificazione delle attività per ulteriori modifiche.