Causé par: org.Apache.solr.commun.Solvexception: index verrouillé pour écrire pour le noyau

nous utilisons solr4.3 avec la configuration maître/esclave, aujourd'hui j'ai eu l'erreur suivante et solr a cessé de répondre. Ce pourrait être la cause,

 Caused by: org.apache.solr.common.SolrException: Index locked for write for core XXX
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:821)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:618)
    at org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:949)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:984)
    at org.apache.solr.core.CoreContainer.call(CoreContainer.java:597)
    at org.apache.solr.core.CoreContainer.call(CoreContainer.java:592)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    ... 1 more
Caused by: org.apache.lucene.store.LockObtainFailedException: Index locked for write for core XX        at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:484)
    at org.apache.solr.core.SolrCore.<init>(SolrCore.java:745)
    ... 13 more
17
demandé sur Cool Techie 2013-07-03 13:35:53

5 réponses

il semble que l'index ait été verrouillé pendant l'indexation.

Habituellement, il y aurait une écriture.verrouillez le fichier dans l'index qui doit être supprimé pour le récupérer.

Les conditions peuvent se produire si l'indexation casse entre ou d'autres questions qui peuvent causer de verrouiller le fichier pour être encore dans l'index.

Case Forum

le verrouillage d'écriture est dû au fait qu'un IndexWriter est toujours ouvert dans Solr même sur le esclaves.

vérifiez le Indice De Verrouillage options qui peuvent gérer la condition dans la configuration.

[une copie archivée du lien original: https://web.archive.org/web/http://docs.lucidworks.com/display/solr/IndexConfig+in+SolrConfig]

12
répondu Jayendra 2016-02-16 18:37:04

Supprimer le fichier write.lock dans le dossier /data/index/ pour votre noyau puis redémarrez tomcat. Il va travailler.

18
répondu Hieu Le 2015-08-18 01:24:29

Si vous utilisez des Rails,

il suffit d'ajouter dans solr.xml cette ligne

<lockType>simple</lockType>

sa fonctionne pour moi)

0
répondu Evseev Vadim 2017-07-06 06:53:35

dans certains cas cela se produit parce que l'utilisateur courant n'a pas la permission dans le répertoire. Essayez d'utiliser root et using-force pour démarrer solr.

0
répondu Carlos Eduardo Cabral 2018-01-11 21:33:53

Essayez d'utilisation : conteneur.shutdown () après l'indexation, cela fonctionne si vous voulez mettre à jour/rechercher à nouveau sans supprimer le fichier "write.verrouillage."

0
répondu progM 2018-02-27 09:23:54