您的位置:首页 > 产品设计 > UI/UE

SolrCore 'collection1' is not available due to init failure: Index locked for write for core collect

2014-12-18 17:23 316 查看
org.apache.solr.common.SolrException: SolrCore 'collection1' is not available due to init failure: Index locked for write for core collection1

at org.apache.solr.core.CoreContainer.getCore(CoreContainer.java:753)

at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:110)

at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:91)

at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301)

at cn.com.test.TestEmbedded.test(TestEmbedded.java:30)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:606)

at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)

at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)

at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)

at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)

at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)

at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)

at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)

at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)

at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)

at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

Caused by: org.apache.solr.common.SolrException: Index locked for write for core collection1

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:868)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:643)

at org.apache.solr.core.CoreContainer.create(CoreContainer.java:556)

at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:261)

at org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:253)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

at java.util.concurrent.FutureTask.run(FutureTask.java:262)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:724)

Caused by: org.apache.lucene.store.LockObtainFailedException: Index locked for write for core collection1

at org.apache.solr.core.SolrCore.initIndex(SolrCore.java:505)

at org.apache.solr.core.SolrCore.<init>(SolrCore.java:774)

... 10 more

报这个错的话,只需要在solrconfig.xml中配置 <unlockOnStartup>true</unlockOnStartup>这个就可以。

unlockOnStartup 告知 Solr 忽略在多线程环境中用来保护索引的锁定机制。在某些情况下,索引可能会由于不正确的关机或其他错误而一直处于锁定,这就妨碍了添加和更新。将其设置为 true 可以禁用启动锁定,进而允许进行添加和更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐