Dopo un reindex alcuni documenti nuovi, appena inseriti in archivio, non sono reperibili

Se si procede alla rigenerazione degli indici di un archivio eXtraWay può succedere che documenti inseriti in archivio subito dopo tale operazione risultino non reperibili.


Il caso potrebbe prevedere che i documenti siano reperibili a singhiozzo ovvero trovati e non trovati ripetendo più volte la stessa selezione.

Questo può avvenire in un caso un po' particolare che si cerca di schematizzare di seguito:

  1. Si provvede a compiere un'interruzione dei servizi eXtraWay per garantirsi che le connessioni verso il server siano tutte resettate.
  2. Si avvia nuovamente il server eXtraWay per rigenerare gli indici dell'archivio
    1. A questo punto un utente accede all'archivio e fa una qualsiasi operazione Il risultato è che l'istanza di server che lui genera conosce lo stato degli indici. Questa intromissione è l'origine del problema.
  3. Si procede alla rigenerazione degli indici dell'archivio. L'istanza del server utilizzata per questo scopo e tutte le ulteriori istanze che verranno aperte dopo conosceranno il nuovo formato degli indici.
  4. Ad indici terminati si inseriscono nuovi documenti. Alcuni sono visibili ed altri no.

Il problema, come accennato, dipende dal fatto che esiste almeno un'istanza del server che conosce la tabella degli indici, vale a dire gli accoppiamenti tra numero progressivo di vocabolario ed il corrispondente percorso XML della chiave associata, che non corrisponde a quella ottenuta dopo la rigenerazione degli indici. I documenti che questo server produce vanno ad alimentare con le loro chiavi dei vocabolari che non corrispondono e quindi, cercando il documento in modo canonico, esso non si trova perché la ricerca dei valori viene fatta su vocabolari ove quei valori non esistono (perché sono stati introdotti maldestramente in altri vocabolari).
Il documento può quindi risultare reperibile se e solo se ad essere interrogata è l'istanza di server che lo ha salvato perché in tal caso farebbe uso dei vocabolari sbagliati, come all'atto del salvataggio, trovando le chaivi richieste. Quindi trovare il documento sarebbe comunque un comportamento errato.

Questi documenti sono solitamente reperibili tramite le chiavi appartenenti al macro canale UD in quanto l'assegnazione di quei canali di chiave è sempre la stessa.

Se lo scenario che si delinea corrisponde a quello espresso ci sono da fare i seguenti interventi:

Per la ricostruzione indici si suggerisce quindi quanto segue.

  1. Compiere, dalla Console, il comando di Delete sugli indici.
  2. Interrompere e riavviare il servizio eXtraWay
  3. Rigenerare gli indici con comando Rebuild o Update.

Agendo in questo modo ci si pone al sicuro dal rischio che, dal momento in cui si riavviano i servizi al momento in cui si lancia un Rebuild degli indici un qualche operatore attivi un'istanza di server che conosce una mappa indici che presto non sarà pià valida.

Date
2008/02/05 11:45:50

Toran a Indice delle voci


HighWay/eXtraWay Project - Frequently Asked Questions (Doxygen 1.6.1)