Ultimo aggiornamento il
3 mag 2021
|
Si applica anche a CRX
Sintomi
Se l'indice di ricerca dell'area di lavoro del sistema/versione non può essere ricostruito e è presente un'eccezione nel file di log NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe
Causa
Una ragione comune per il problema è una voce di nodo figlio non valida da jcr:system a crx:nodeTypes.
Analisi
Se tenti di ricreare l'indice di ricerca per l'area di lavoro del sistema/versione, e ottieni l'eccezione NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe
Risoluzione
Se il problema è una voce di nodo figlio non valida da jcr:system a crx:nodeTypes, i seguenti passi risolvono il problema:
- Disabilita tutte le configurazioni degli indici di ricerca nei file repository.xml e workspace.xml. Disabilita anche la verifica e la correzione della consistenza per ogni area di lavoro, se abilitata (è possibile eseguirla in seguito, se necessario).
- Potresti dover correggere lo script di avvio della Console. Per fare questo, modifica
server/console.sh
e imposta sostituzioneREPOSITORY_HOME="$CONTEXT/crx"
conREPOSITORY_HOME="$CONTEXT/../repository"
se non è ancora stato fatto. (Nota che non si può semplicemente aggiungere la riga all'inizio dello script, perché in quel momento il CONTESTO potrebbe non essere impostato, il che farebbe sì che la console utilizzi un archivio diverso). - In una finestra della console, digita:
cd crx-quickstart/server ./console.sh
- Questo fa partire la console CRX. Quindi digita
cd jcr:system stat
- Ora viene stampata la lista dei nodi figlio. Esempio:
ChildNode Entries: + {http://www.jcp.org/jcr/1.0}versionStorage[1] -> deadbeef-face-babe-cafe-babecafebabe + {http://www.jcp.org/jcr/1.0}nodeTypes[1] -> deadbeef-cafe-cafe-cafe-babecafebabe + {internal}accessControl[1] -> 2cccff3f-c6fe-4294-a030-7c830c6c36ef + {http://www.day.com/crx/1.0}nodeTypes[1] -> c67e22c1-2eee-4e48-9505-f00bcf590a36 + {http://www.day.com/crx/1.0}nodeTypes[2] -> e4469e5a-4892-4760-acd6-3a3e8f120d4e
- Se vedi solo una voce
crx:nodeTypes
, è un problema diverso. Se non si vede nessuna voce dihttp://www.day.com/crx/1.0
allora si è connessi all'archivio sbagliato (rivedere il passo #2 riguardo a come risolvere ilREPOSITORY_HOME
il console.sh script). - Se vedi due voci
crx:nodeTypes
, fai quanto segue per accedervi e scoprire quale non è validostat a42b98a1-b4c1-4f11-8c11-734455a4f53d
- Se vedi solo una voce
- Se il nodo non esiste, si ottiene un'eccezione 'Impossibile eseguire il comando'. In tal caso, rimuovere la voce del nodo figlio:
rm -c a42b98a1-b4c1-4f11-8c11-734455a4f53d
- Questo rimuove la voce del nodo figlio non valida. Verifica che sia stato rimosso e quindi chiudere la Console.
uscita stat
- Riabilita tutte le configurazioni degli indici di ricerca nei file repository.xml e workspace.xml. Si consiglia di eliminare le directory degli indici in modo che gli indici Lucene vengano ricreati all'avvio.
- Avvia CRX.
Si applica a
CRX 1.4.x