Di seguiti le principali informazioni sui logs.
A completamento della presente documentazione si può consultare:
I files di log prodotti dal server eXtraWay e dai suo moduli accessori vengono tutti scritti dal modulo xwls (eXtraWay Log Server) che usa una forma standard per indicare il contenuto di quanto registrato e si trovano tutti nella directory logs
delle installazioni eXtraWay, parallela alla directory che ospita i binari.
La riga del file è composta innanzitutto dalla data (espressa come anno, mese, giorno, ora, minuti, secondi ed i millisecondi, questi ultimi separti da un punto). Dopo un tabulatore viene indicato il PID del processo che ha provocato il log, un ulteriore tabulatore ed il vero messaggio di log. Questo messaggio è solitamente preceduto da un carattere maiuscolo racchiuso tra parentesi quadre. Tale carattere indica la natura dell'informazione loggata.
Di seguito l'elenco dei caratteri previsti:
Il codice che può seguire una segnalazione [E], [W] o [T] è composto da una sequenza (da uno a dieci componenti) di codici la cui forma è composto da queste componenti:
<identificativo componente>:<numero di riga>:<corice d'errore>/<tipo errore esteso
Una o più parti possono essere assenti. La segnalazione a 3D Informatica di questi codici unitamente alle altre registrazioni, precedenti e seguenti, riconducibili quanto meno allo stesso PID è di grande utilità per la determinazione delle cause dei più importanti errori rilevabili dal server.
[Q] al fianco della quale appare il codice del comando inviato.PID
. Infatti tutte le righe di registrazioni vengono scritte in ordine cronologico da tutti i server, tramite il modulo xwls, nello stesso file di log quindi le registrazioni di un singolo comando, che si potrebbe protrarre nel tempo, vanno cercate basandosi sul PID
del processo invocato.PID
, una riga del file di log con l'etichetta
[A]. Al fianco dell'etichetta viene riportato un codice numerico: se esso è pari a 0
il comando ha avuto correttamente esito mentre ogni altro valore numerico rappresenta un particolare codice d'errore. Oltre ad esso, tra parentesi tonde, ci sono altre informazioni di servizio che però non sono rappresentative del successo o del fallimento del comando.
[A] non fosse 0
, può essere particolarmente utile raccogliere tutte le righe che rappresentano quel comando (ed in alcuni casi anche le righe intermedie riconducibili ad altri server) con particolare attenzione alle righe aventi come etichetta
[W] e
[E].Il Procedimento di WatchDog comporta l'osservazione dal parte del "server master" delle directory indicate nel file di configurazione xwwd.conf.xml e per ognuna di tali directory (tipicamente una sola denominata 'wd') verifica la presenza di file con estensione ".xml". Se esiste un file con tale estensione si determina dal nome del file l'archivio interessato e, se disponibile, l'utente "inseritore" da assegnare ai documenti che verranno identificati all'interno di tale file. Se esiste un file appartenente allo stesso archivio ma avente estensione ".xml.wrk" il server sa che è in esecuzione un'altra operazione di acquisizione per lo stesso archivio ed attende che essa sia finita. Quando invece non c'è alcun lavoro in corso per l'archivio in esame, il primo file ad esso relativo (rilevato in ordine alfabetico tra quelli contenuti nella directory) viene rinominato con estensione ".xml.wrk" e dato in pasto ad una nuova istanza del server che provvederà a rimuoverlo al termine dei propri compiti sbloccando quindi l'acquisizione da altri file per lo stesso archivio.
Il server che interpreta il file in esame deve verificare che in esso sia interpretabile il contenuto secondo le unità documentarie riconosciute dal server per l'archivio in corso di elaborazione e che nella sintassi interna non vi siano incongruenze. Una volta riconosciuti questi documenti passa al salvataggio di ognuno di essi, rispettando l'eventuale univocità e procedendo a saltare i documenti non salvabili registrandoli nel file ".xml.fail". Il salvataggio di questi singoli documenti può anche fallire per questioni legate all'archivio (problemi di scrittura sullo strato fisico, spazio su disco completato, operazioni di indicizzazione on-line fallite per cause legate a difetti del vocabolario, ecc. ecc.). Completati i propri compiti, come detto, tale server rimuoverà il file ".xml.wrk" ed il file dei fallimenti (".xml.fail") a patto che non ce ne siano stati. Ogni operazione ed in particolare i difetti verranno registrati nel file wd_journal.log presente nell'apposita directory.
Questo file concentra in se le registrazioni significative delle operazioni svolte dal server, per mezzo di libxwwd.so, atte al caricamento negli archivi di nuove unità documentarie.
Negli esempi a seguire non verrà indicata la prima parte della riga di log contenente data e PID. Parimenti, i nomi dei file e degli archivi sono puri esempi. Il riconoscimento di un file da acquisire da parte del modulo libxwwd.so viene segnalato come segue...
[I]Asking New Job: File /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk on archive /export/home/highway/xw/db/eurlex/eurlex
...questa segnalazione informa che è stato attivato un nuovo lavoro che interessa il file ".xml.wrk" indicato e che coinvolge l'archivio indicato. La registrazione viene solitamente fatta dal PID del processo eXtraWay Server "padre" ovvero quello che genera tutti i server che dialogano con l'applicazione client. Tale server rinomina questo file con estensione ".xml.wrk" così da frenare ogni ulteriore procedimento che interessi lo stesso archivio e stabilirà che nome dare al file degli errori usando lo stesso nome file ma con estensione ".xml.fail". Fatto questo creerà un ulteriore server "figlio" che svolgerà il lavoro vero e proprio.
Di seguito il server "figlio" preposto a questo compito registrerà di essersi accorto del lavoro da svolgere con un log come il seguente...
[I]New Job: Arc /export/home/highway/xw/db/eurlex/eurlex, Node Container "listof_NIR", Primary Node "NIR", WatchFile "/export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk", Failure file "/export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail"
...in questa informazione viene ripetuta la richiesta di un nuovo lavoro sull'archivio indicato. Vengono inoltre indicati gli identificatori del nodo primario e del suo elemento contenitore ed i due archivi, quello di lavorazione e quello nel quale verranno scaricati gli errori. Al termine dell'operazione il primo file ".xml.srk" verrà rimosso così come il file ".xml.fail" a patto che non si siano rilevati problemi.
Il processo provvederà quindi alla verifica del contenuto del file ".xml.wkr" ed indicherà quanto scoperto con il log...
[I]Found 206 primary nodes from /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk file
...di seguito, se non è stato indicato il nome dell'elemento contenitore ed esso risultasse indispensabile il server provocherebbe il seguente errore...
[E]Operation skipped, Unavailable container for NIR
... e l'operazione sarebbe completata in questo punto.
Se invece il contenitore è presente ma l'operazione di riconoscimento del file ".xml.wrk" fallisce, allora il server indicherà il seguente errore...
[E] File /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.wrk totally rejected: See /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail.
...per indicare che nel file ".xml.fail" c'è il materiale non acqusito.
A questo punto, se non ci sono stai errori, il server procede determinando per ogni nodo primario la dislocazione che essi dovranno avere su disco (strato fisico). Qualora il file <nomearchivio>.conf.xml fosse stato maldestramente configurato il server presentarà il seguente errore...
[E] File Location Rule wrong or not applicable
...indicando tra parentesi quale regola di composizione del nome file abbia provocato il problema.
Ogni nodo primario viene verificato nella sua univocità. Se il documento non viola alcuna univocità esso viene accodato al catalogo e registrato sullo strato fisico nella nuova dilocazione, se invece esso viola l'univocità il comportamento varia. Se la configurazione del WatchDog è tale (per l'archivio corrente) perché si possa compiere update dei documenti già presenti (Vds. File di configurazione Xwwd.conf.xml), allora il server può sovrascrivere il singolo documento incontrato usando la sua locazione originaria o una nuova locazione (sullo strato fisico) a seconda di diversi fattori (non discussi in questa documentazione). Se però le univocità violate riguardano documenti duplicati (da catalogo totale ove l'univocità violata viene tollerata) allora il server rigetterà il documento (registrato nel ".xml.fail") indicando la causa del fallimento. Ciò avviene per tutti i documenti che violano anche una singola univocità qualora per quest'archivio non sia previsto l'update.
Le segnalazioni d'errore sono le seguenti...
[E]Err 822: Required XXX (Violing more)
...oppure...
[E] Err 822: Required XXX (Violing YYY)
...oppure...
[E]Err 822: Required Append (Violing YYY)
... dove XXX rappresenta il numero documento fisico che si potrebbe inserire se si andasse in coda e YYY il documento fisico esistente che viene violato da quello in esame. Il primo caso indica la violazione di univocità nei confronti di più documenti che quindi non vengono elencati. Il secondo caso indica la modifica di un documento esistente che non può essere effettuata perché il suo salvataggio comporterebbe la violazione di un altro documento (non pertinente nel caso di libxwwd.so ma potenzialmente presente nelle operazioni di modifica manuale) ed il terzo caso rappresenta il rifiuto del server ad accodare un nuovo documento (in archivi non designati all'update) per una singola violazione di univocità. La violazione di univocità si verifica controllando il file <nomearchivio>.conf.xml nell'apposito elemento che la qualifica per ogni unità documentaria.
Se per contro il salvataggio del documento deve essere effettuat e va a buon fine avremo la segnalazione...
[I]Saved new document XXX. Destination file is /export/home/highway/xw/db/eurlex/eurlex/2002/doc11.xml
...dove XXX è il numero fisico del documento aggiunto al catalogo oppure...
[I]Updated document XXX. Destination file is /export/home/highway/xw/db/eurlex/eurlex/2002/doc09.xml
...dove XXX è il numero fisico del documento del catalogo che è stato aggiornato con il documento appena salvato.
Se il salvataggio provoca errore (tipicamente negli vocabolario), la registrazione sarà...
[E]Failure updating document XXX. Error code KKK.
...per gli aggiornamenti ovvero...
[E]Failure saving new document XXX. Error code KKK.
...per gli accoramenti. Il numero riportato da KKK è il codice d'errore rilevato.
Il ciclo di salvataggio procede quindi fino al completo esaurimento dei documenti rilevati nel file ".xml.wrk" ma se una delle precedenti condizioni d'errore ne impedisce il completamento il serer segnalerà...
[I]Saving Loop interrupted, error KKK, left document in /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail
...dove KKK è l'ultimo codice di errore rilavato. Al termine, inoltre, essendo presente il file ".xml.fail" il server lo evidenzierà con il log...
[I]Failed Primary Nodes available in /export/home/highway/xw/wd/eurlex-usr=writelli-2002-doc11-1058365469215.xml.fail
...ed inoltre, che l'operazione fallisca o riesca, il server indica la fine delle "ostilità" con il log...
[I]End of Job: Elapsed Secs.MSecs: SSS.MMM. Error: KKK
...dove SSS.MMM sono secondi e millisecondi complessivamente impiegati e KKK è '0' o il codice d'errore rilevato.
Se il difetto che dovesse essere rilevato nel file wd_journal.log riguarda la prima fase, quella in cui si deve interpretare il contenuto del file .xml.wrk o quella in cui si valuta la locazione dei files, il problema va studiato nel file rigettato o nella configurazione dell'archivio. Una validazione del primo ed un controllo della sintassi del secondo dovrebbero condurre alla soluzione del problema. I successivi errori di univocità sono da verificare manualmente. Ogni unità documentaria presente nel file .xml.fail porta ad una selezione da farsi secondo la regola di univocità espressa nel file di configurazione d'archivi (<nomearchivio>.conf.xml) e quindi alla determinazione del documento o dei documenti violati. A questo punto si dovrà intervenire in modifica di essi o cambiare quanto necessario nel file .xml.fail perché tale univocità non sia più motivo di violazione. Per errori riconducibili agli indici è opportuno verificare se il numero di documenti presenti in archivio ed il numero di documenti indicizzati è congruo (Vds. <nomearchivi>.stat.xml) e se essi sono disallineati procedere con una "indicizzazione incrementale". Se il problema permane sarà necessario a ricostruire il vocabolario con un "indicizzazione complessiva". Per chiarire questi due concetti vedere oltre la parte inerente i Tools.
Il "Log di Registro" è un file mensile che riporta le principali attività svolte dal server ed in particolare gli errori maggiormente significativi, i cambi di stato, le validazioni archivi e così via.
Nel file xw<anno><mese>.log vengono registrate anche le operazioni di costituzione indici e catalogo. In particolare, per quanto concerne la costituzione degli indici e gli errori che la caratterizzano avremo, per il PID del processo che ha svolto tale compito, due registrazioni...
[I]Index Removed on archive c:\xw\apps\nif\db\lexs\lexs
...ad indicare che gli indici sono stati rimossi (eseguita una rigenerazione indici), e...
[I]Index Made on archive c:\xw\apps\nif\db\lexs\lexs
...ad indicare che l'operazione di costituzione degli indici ha avuto termine. Prima di quest'ultima segnalazione possono quindi trovarsi, in caso di problemi legati all'uso di Export System, segnalazioni aventi questa forma...
[W]ESServer usage failure 868 on document XXX, restarting...
...dove XXX è il numero del documento fisico nel catalogo elaborando il quale si è rilevato un errore d'uso del motore ESServer. A questo punto vengono effettuati alcuni tentativi di riesecuzione di tale modulo che possono andare a buon fine o meno. Se dopo qualche tentativo il server non riesce nel proprio intento l'indicizzazione procede senza ESServer ed il server indica quanto segue...
[W]ESServer usage failure, no more attempts
Di seguito il significato delle principali registrazioni che si incontrano nei files di log.
Gli archivi eXtraWay possono essere di due tipi, per così dire. Esistono gli archivi generati regolarmente avvalendosi del Model DEsigner e altri che invece vengono generati editando manualmente il file di configurazione nome_archivi.conf.xml ed avvalendosi, evenutualmente, di una DTD prodotta da terzi o anch'essa generata a mano.
Il secondo caso descritto, quello manuale, è indubbiamente il più frequentemente utilizzato. Esso manca delle registrazioni compiute dal Model Designer per mezzo del Server eXtraWay che riguardano le diverse versioni del file di configurazione d'archivio e della DTD che lo descrive.
Nell'indicare l'indisponibilità del file nomearchivio.descrlst.xml il server sottolinea, in alcune occasioni, che l'archivio è stato generato manualmente e che quindi non è possibile compiere alcune operazioni avanzate, come ad esempio dare un valore di default agli attributi non citati e così via.
Le installazioni di eXtraWay prevedono che, parallelamente alla directory degli eseguibili, siano presenti alcune altre directory. Una di queste è la directory context nella quale viene registrato lo stato degli eseguibili in uso, descritto in files nomeeseguibile.devhist.xml ed alcune altre informazioni di contesto. Per contesto si intende la fotografia corrente della struttura organizzativa che si occupa della gestione e manutenzione dei dati contenuti negli archivi che eXtraWay rende disponibili. Il contesto è composto da un insieme articolato di files (non descritti in questa sede) ma il principale di essi è il file context.stat.xml. In tale file vengono registrate tutte le versioni disponibili del contesto che si sono succedute nel tempo ma soprattutto, e questa è l'informazione che ci interessa in questa sede, una denominazione chiara e comprensibile di quale struttra abbia in carico questi archivi.
Questa denominazione viene usata da eXtraWay Server per siglare, con un'apposita Processing Instruction, ogni documento che il server provvederà ad inserire e modificare.
Il file context.stat.xml viene distribuito con un'etichetta fissa
%NOMESTRUTTURA%
al posto del vero nome della struttura e per lungo tempo, non essendoci un controllo esatto su questo valore, i documenti sono stati siglati con questa codifica inutile anziché con un valido nome di struttra.
Dalla versione 19.5.0.29 il server compie la verifica che l'etichetta di default sia stata sostituita da un valore valido e da questa segnalazione se la cosa non è avvenuta o se il file context.stat.xml non risulta disponibile.
NOMESTRUTTURA%
e VERSIONE%
devono essere modificati con il nome della reale struttura che si occupa dei dati e le deve essere assegnata un valido numero di versione.La registrazione di un errore 819 (Vds. ErrorList: Elenco codici di errore e loro significato.) indica che il documento che ci si appresta a caricare risulta cancellato. Il server non può quindi procedere oltre per quanto riguada quel documento.
Il problema si verifica quando un inserimento scrive uno dei files dell'archivio, l'udp
, e non scrive (esce con errore o va in crash prima di scrivere) il file stat
.xml
. Questo tipo d'errore non si dovrebbe teoricamente mai verificare ma l'esperienza ci dimostra che in alcune condizioni questo avviene.
Quando questo avviene si ha un disallineamento tra il contenuto di due files. Un'indagine accurata degli eventi più mostrare le cause dell'errore e la sua natura (questo stesso sintomo si manifesta per problematiche che hanno aspetti diversi) indicando agli tecnici preposti quali operazioni di manutenzione correttiva possano e debbano essere effettuati sull'archivio.
I dettagli inerenti questo tipo d'analisi sono riservati e non documentati in questa sede.
thread
preposto a svolgere i compiti di eXtraWay Crawler non è stato eseguito a causa della mancanza della libreria dinamica libxcrwl.dll/so ovvero a causa della sua mancata o non corretta configurazione.thread
che si occupa di compiere Crawling verso delle fonti di dati o su richiesta o a particolari intervalli di tempo.<?xw-crc key32=...?>
Torna a Indice delle voci