Symptômes

Si l'index de recherche du basculement entre espaces système/version ne peut pas être recréé et qu'il n'existe aucune exception dans le fichier journal NoSuchItemStateException : deadbeef-café-bébé-café-babecafebabe.

Cause

Une cause courante du problème est une entrée de nœud enfant non valide de jcr:system à crx:nodeTypes.

Analyse

Si vous essayez de recréer l'index de recherche pour l'espace système/version, et que vous obtenez une exception NoSuchItemStateException : deadbeef-café-bébé-café-babecafebabe.

Résolution

Si votre problème est une entrée de nœud enfant non valide de jcr:system vers crx:nodeTypes, corrigez le problème en suivant les instructions :

  1. Désactivez toutes les configurations d’index de recherche dans les fichiers repository.xml et workspace.xml. Désactivez également la vérification de cohérence et la correction de cohérence pour chaque espace de travail si elles sont activées (vous pouvez exécuter cette fonction ultérieurement si nécessaire).
  2. Vous devez peut-être corriger le script de démarrage pour la console. Pour ce faire, modifiez le serveur/console.sh et remplacez REPOSITORY_HOME="$CONTEXT/crx" par REPOSITORY_HOME="$CONTEXT/../repository" si cela n'est pas déjà le cas. (Veuillez noter que vous ne pouvez pas simplement ajouter la ligne en début du script, car la propriété CONTEXT peut ne pas être définie, ce qui entraînerait l’utilisation d’un autre référentiel).
  3. Dans une fenêtre de console, tapez :
    cd crx-quickstart/server ./console.sh.
  4. Cela va démarrer la console CRX. Ensuite, saisissez :
    cd jcr:system stat 
  5. S'il y a des nœuds enfant, la liste s'imprime. Exemple:
    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 

    • Si vous ne voyez qu'un élément crx:nodeTypes, il s'agit d'un problème différent. Si vous ne voyez aucun élément http://www.day.com/crx/1.0, c'est que vous êtes connecté au mauvais référentiel (voir étape 2 relative à la résolution du script de la console.shREPOSITORY_HOME).
    • Si deux éléments crx:nodeTypes apparaissent : procédez comme suit pour y accéder et pour déterminer lequel est invalide :
      stat a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  6. Si le nœud n’existe pas, une exception « Impossible d’exécuter la commande » apparaît. Dans ce cas, supprimez l'entrée noeud enfant :
    rm -c a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  7. Cette opération supprime l'entrée de nœud enfant incorrecte. Vérifiez qu'elle est bien supprimée et quittez la console.
    Sortie statistique.
  8. Réactivez toutes les configurations d’index de recherche dans les fichiers repository.xml et workspace.xml. Vous pouvez supprimer les répertoires d’index afin que les index Lucene soient recréés au démarrage.
  9. Démarrez CRX.

S’applique à

CRX 1.4.x.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne