Última atualização em
May 06, 2021 11:45:50 PM GMT
|
Também se aplica a CRX
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:
- 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).
- Pode ser necessário corrigir o script de inicialização para o console. Para fazer isso, edite
server/console.sh
, e defina substituirREPOSITORY_HOME="$CONTEXT/crx"
withREPOSITORY_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). - Em uma janela do console, digite:
cd crx-quickstart/server./console.sh
- Isto irá iniciar o Console CRX. Então digite:
cd jcr:system stat
- 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 entradahttp://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
- Se você só vir uma entrada
- 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
- Isso removerá a entrada do nó filho inválida. Verifique se ele foi removido e saia do console.
saída do stat
- 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.
- Inicie o CRX.
Aplica-se a
CRX 1.4.x
Fazer logon em sua conta