Corrigir o nó "jcr:system"

Sintomas

Se o índice de pesquisa do espaço de trabalho do sistema / versão não puder ser reconstruído e houver uma exceção no arquivo de log NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe

Causa

Um motivo comum para o problema é uma entrada de nó filho inválida do jcr:system para crx:nodeTypes.

Análise

Se você tentar recriar o índice de pesquisa para o espaço de trabalho do sistema / versão e obter a exceção NoSuchItemStateException: deadbeef-cafe-babe-cafe-babecafebabe

Solução

Se o seu problema for uma entrada de nó filho inválida de jcr:system para crx:nodeTypes, as etapas a seguir resolverão o problema:

  1. Desative todas as configurações de índice de pesquisa nos arquivos repository.xml e workspace.xml. Desative também a verificação de consistência e a correção de consistência de cada espaço de trabalho, se estiverem ativadas (você pode executá-las mais tarde, se necessário).
  2. Pode ser necessário corrigir o script de inicialização para o console. Para fazer isso, edite server/console.sh, e defina substituir REPOSITORY_HOME="$CONTEXT/crx" with REPOSITORY_HOME="$CONTEXT/../repository" se isso ainda não foi feito. (Observe que você não pode simplesmente adicionar a linha na parte superior do script, porque, nesse momento, o CONTEXTO pode não estar definido, o que faria com que o console usasse um repositório diferente).
  3. Em uma janela do console, digite:
    cd crx-quickstart/server./console.sh 
  4. Isto irá iniciar o Console CRX. Então digite:
    cd jcr:system stat 
  5. Agora a lista de nós filho é impressa. Exemplo:
    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 você só vir uma entrada crx:nodeTypes, é um problema diferente. Se você não vir nenhuma entrada http://www.day.com/crx/1.0, você está conectado ao repositório errado (reveja etapa 2 sobre como corrigir o script console.shREPOSITORY_HOME).
    • Se vir duas entradas crx:nodeTypes, faça o seguinte para acessá-las e descubra qual delas é inválida:
      stat a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  6. Se o nó não existir, você receberá uma exceção 'Não é possível executar o comando'. Nesse caso, remova a entrada do nó filho:
    rm -c a42b98a1-b4c1-4f11-8c11-734455a4f53d 
  7. Isso removerá a entrada do nó filho inválida. Verifique se ele foi removido e saia do console.
    saída do stat 
  8. Reative todas as configurações de índice de pesquisa nos arquivos repository.xml e workspace.xml. Você pode querer excluir os diretórios de índice para que os índices do Lucene sejam recriados na inicialização.
  9. Inicie o CRX.

Aplica-se a

CRX 1.4.x

Logotipo da Adobe

Fazer logon em sua conta