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:

  1. Convalida la procedura in un ambiente inferiore (non di produzione) per comprendere i comandi, l’output previsto e il processo complessivo.

  2. Prima di apportare qualsiasi modifica nell’ambiente di produzione, esegui un backup o un’istantanea dell’archivio completa e coerente.

  3. Esegui una verifica di coerenza dell’archivio utilizzando lo strumento oak-run:

    1. Assicurati che l’istanza di AEM sia offline prima di eseguire operazioni a livello di archivio.

    2. 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>

    3. Se possibile, eseguire l’analisi su una copia di backup del repository di produzione per ridurre al minimo i tempi di inattività.

  4. 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.

  5. Dopo aver implementato le modifiche, monitora l’esecuzione del flusso di lavoro e registra l’eventuale ricorrenza di SegmentNotFoundException errori:

  6. Controllare i registri di AEM error.log e del flusso di lavoro per il modello SegmentNotFoundException.

  7. Se i problemi persistono, ripetere la verifica di coerenza e rivedere la pianificazione delle attività per ulteriori modifiche.

recommendation-more-help
experience-cloud-kcs-help-kbarticles