Arreglar el nodo “jcr:system”

Síntomas

Si no se puede reconstruir el índice de búsqueda del espacio de trabajo del sistema/versión y hay una excepción en el archivo de registro NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe

Causa

Una razón común del problema es una entrada de nodo inferior no válida desde jcr:system hasta crx:nodeTypes.

Análisis

Si intenta volver a crear el índice de búsqueda para el espacio de trabajo del sistema/versión y obtiene la excepción NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe

Resolución

Si su problema es una entrada de nodo inferior no válida desde jcr:system hasta crx:nodeTypes, los siguientes pasos solucionarán el problema:

  1. Deshabilite todas las configuraciones de índice de búsqueda en los archivos repository.xml y workspace.xml. También deshabilite la comprobación de consistencia y la corrección de consistencia para cada espacio de trabajo si está habilitado (puede ejecutarlo más adelante si es necesario).
  2. Es posible que deba corregir el guión de inicio de la Consola. Para ello, edite server/console.sh, y establezca reemplazar REPOSITORY_HOME="$CONTEXT/crx" con REPOSITORY_HOME="$CONTEXT/../repository" si aún no lo ha hecho. (Tenga en cuenta que no puede simplemente añadir la línea en la parte superior del script, ya que en ese momento el CONTEXTO puede no estar establecido, lo que provocaría que la consola utilizara un repositorio diferente).
  3. En una ventana de la consola, escriba:
    cd crx-quickstart/server ./console.sh 
  4. Esto iniciará la Consola CRX. A continuación, escriba a máquina:
    cd jcr:system stat 
  5. Ahora la lista si se imprimen nodos inferiores. Por ejemplo:
    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 solo ve una entrada crx:nodeTypes, es un problema diferente. Si no ve ninguna entrada de http://www.day.com/crx/1.0 entonces está conectado al repositorio equivocado (revise el paso #2 sobre cómo arreglar el REPOSITORY_HOME del script console.sh).
    • Si ve dos entradas crx:nodeTypes, haga lo siguiente para acceder a ellas y averiguar cuál es inválida
      stat a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  6. Si el nodo no existe, obtendrá una excepción “No se puede ejecutar el comando”. En ese caso, elimine la entrada del nodo inferior:
    rm -c a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  7. Esto eliminará la entrada no válida del nodo secundario. Verifique que se haya eliminado y luego salga de la Consola.
    salida estadística 
  8. Vuelva a habilitar todas las configuraciones de índice de búsqueda en los archivos repository.xml y workspace.xml. Es posible que desee eliminar los directorios de índices para que los índices de Lucene se vuelvan a crear al inicio.
  9. Iniciar CRX.

Se aplica a

CRX 1.4.x

Logotipo de Adobe

Inicia sesión en tu cuenta