Recupero Tracce dalla Dead Letter Queue
Quando il processo di failover del tracciamento su database non riesce a riversare le tracce nel database dopo il numero massimo di tentativi configurati (default: 10), queste vengono automaticamente spostate in una directory speciale chiamata Dead Letter Queue (DLQ).
Struttura Directory DLQ
La directory DLQ si trova all’interno della directory di failover configurata (default: /var/govway/resources) con la struttura /var/govway/resources/TIPO/dlq/, dove TIPO può essere: transazioni, diagnostici, messaggi, o altri tipi di informazioni tracciabili.
Verifica Presenza Tracce in DLQ
Per verificare se sono presenti tracce in DLQ:
# Conta tutti i file presenti nelle directory DLQ find /var/govway/resources/*/dlq/ -type f ! -name "*README" | wc -l # Lista le directory DLQ con tracce presenti for dir in /var/govway/resources/*/dlq/; do count=$(find "$dir" -type f ! -name "*README" 2>/dev/null | wc -l) [ $count -gt 0 ] && echo "$(basename $(dirname $dir)): $count file" done
Recupero Manuale delle Tracce
Una volta risolto il problema che impediva la registrazione nel database, è possibile recuperare manualmente le tracce spostate in DLQ.
Avvertimento
Prima di procedere, verificare che:
Il database sia nuovamente disponibile e funzionante
Il timer di failover sia attivo (se presente la proprietà “org.openspcoop2.pdd.resources.fileSystemRecovery.enabled” in govway_local.properties deve essere valorizzata a “true”)
Procedura di Recupero
Rimuovere i file README da tutte le directory DLQ:
find /var/log/govway/resources/*/dlq/ -name "*README" -delete
Spostare tutte le tracce dalla DLQ alle directory di recovery:
for tipo_dir in /var/log/govway/resources/*/; do tipo=$(basename "$tipo_dir") [ -d "${tipo_dir}dlq" ] && find "${tipo_dir}dlq/*/" -type f -exec mv {} "${tipo_dir}" \; 2>/dev/null doneRimuovere le directory vuote:
rmdir /var/log/govway/resources/*/dlq/*/ 2>/dev/null
Il timer di failover rileverà i file spostati e tenterà di riversarli nel database al prossimo ciclo (default: ogni 5 minuti).