Hi all, 

I'm using Solr 4.9.0 and have setup a spellcheck component for returning
suggestions. The  configuration inside my solr.SpellCheckComponent has as
follows. 

<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str
name="lookupImpl">org.apache.solr.spelling.suggest.fst.BlendedInfixLookupFactory</str>
along with a custom value for 
<str name="indexPath"></str>

The server is starting properly and data gets indexed but once i hit the
'Reload' button from 'Core Admin' I get the following error.

null:org.apache.solr.common.SolrException: Error handling 'reload' action
        at
org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:791)
        at
org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:224)
        at
org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:187)
        at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
        at
org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:729)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:258)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
        at
com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:89)
        at
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
        at
com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
        at
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:289)
        at 
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:838)
        at
com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:1345)
        at
com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:1301)
        at
com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:1285)
        at
com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:1193)
        at
com.caucho.network.listen.TcpSocketLink.handleAcceptTaskImpl(TcpSocketLink.java:992)
        at
com.caucho.network.listen.ConnectionTask.runThread(ConnectionTask.java:117)
        at com.caucho.network.listen.ConnectionTask.run(ConnectionTask.java:93)
        at
com.caucho.network.listen.SocketLinkThreadLauncher.handleTasks(SocketLinkThreadLauncher.java:169)
        at
com.caucho.network.listen.TcpSocketAcceptThread.run(TcpSocketAcceptThread.java:61)
        at com.caucho.env.thread2.ResinThread2.runTasks(ResinThread2.java:173)
        at com.caucho.env.thread2.ResinThread2.run(ResinThread2.java:118)
Caused by: org.apache.solr.common.SolrException: Unable to reload core:
autocomplete
        at
org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java:911)
        at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:660)
        at
org.apache.solr.handler.admin.CoreAdminHandler.handleReloadAction(CoreAdminHandler.java:789)
        ... 24 more
Caused by: org.apache.solr.common.SolrException
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:868)
        at org.apache.solr.core.SolrCore.reload(SolrCore.java:426)
        at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:650)
        ... 25 more
Caused by: java.lang.RuntimeException
        at
org.apache.solr.spelling.suggest.fst.BlendedInfixLookupFactory.create(BlendedInfixLookupFactory.java:102)
        at org.apache.solr.spelling.suggest.Suggester.init(Suggester.java:105)
        at
org.apache.solr.handler.component.SpellCheckComponent.inform(SpellCheckComponent.java:636)
        at
org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:651)
        at org.apache.solr.core.SolrCore.<init>(SolrCore.java:851)
        ... 27 more

Debugging Solr code I found out that the original exception comes from the
IndexWriter construction inside AnalyzingInfixSuggester.java ( more
specifically org.apache.lucene.store.Lock:89). The exception is "Lock obtain
timed out: NativeFSLock@$indexPath/write.lock" but seems to be hidden by the
RuntimeException thrown by BlendedInfixLookupFactory.

If I use the default "indexPath" I get another error (write lock related
again) in the logs.
org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out:
NativeFSLock@$indexPath/blendedInfixSuggesterIndexDir/write.lock
        at org.apache.lucene.store.Lock.obtain(Lock.java:89)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:724)
        at
org.apache.lucene.search.suggest.analyzing.AnalyzingInfixSuggester.build(AnalyzingInfixSuggester.java:222)
        at org.apache.lucene.search.suggest.Lookup.build(Lookup.java:190)
        at org.apache.solr.spelling.suggest.Suggester.build(Suggester.java:142)
        at
org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener.buildSpellIndex(SpellCheckComponent.java:737)
        at
org.apache.solr.handler.component.SpellCheckComponent$SpellCheckerListener.newSearcher(SpellCheckComponent.java:722)
        at org.apache.solr.core.SolrCore$6.call(SolrCore.java:1753)
        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:745)

Any ideas?

Thanks,
Zisis T.




--
View this message in context: 
http://lucene.472066.n3.nabble.com/BlendedInfixSuggester-index-write-lock-failures-on-core-reload-tp4152984.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to