Hi all,
I have 2 workers running (app that's builds the index) and both are pointing
to the same "Solr" (1.3.0) master instance when updating/committing
documents. I'm using SolrJ to save the documents.

Then I have 4 slaves solr instance that gets index from master via rsync.


Now. from time to time, I'm getting this exception in my workers logs:

org.apache.solr.common.SolrException: Internal Server Error

Internal Server Error

request: 
http://master01:18243/solr/update?wt=javabin&version=2.2<http://fwprodsearchim01.ni.news.com.au:18243/solr/update?wt=javabin&version=2.2>

        at
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:343)

        at
org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:183)

        at
org.apache.solr.client.solrj.request.UpdateRequest.process(UpdateRequest.java:217)

        at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:63)

        at
au.com.ndm.search.solr.connector.SolrInterfaceImpl.saveAsset(SolrInterfaceImpl.java:43)

        at
au.com.ndm.search.solr.connector.SolrInterfaceBufferedImpl.forceCommit(SolrInterfaceBufferedImpl.java:87)

        at
au.com.ndm.search.solr.connector.SolrInterfaceBufferedImpl.run(SolrInterfaceBufferedImpl.java:137)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

2009-07-10 12:02:18,460 INFO Solr Buffered Interface Timer
au.com.ndm.search.solr.connector.SolrInterfaceBufferedImpl

Committing Solr Buffer (Added: 1, Deleted: 0) Time since last commit: 2.033
secs

Totals: 0.7507749069575383 pages/sec (71 docs, 93 secs)



And on Master solr instance I'm getting this error:



Jul 10, 2009 4:01:55 AM org.apache.solr.common.SolrException log
SEVERE: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed
out: SimpleFSLock@
/projects/msim/indexdata/data/index/lucene-0614ba206dd0e0871ca4eecf8f2e853a-write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:85)
at org.apache.lucene.index.IndexWriter.init(IndexWriter.java:1140)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:938)
at org.apache.solr.update.SolrIndexWriter.<init>(SolrIndexWriter.java:116)
at
org.apache.solr.update.UpdateHandler.createMainIndexWriter(UpdateHandler.java:122)
at
org.apache.solr.update.DirectUpdateHandler2.openWriter(DirectUpdateHandler2.java:167)
at
org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:221)
at
org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:59)
at
org.apache.solr.handler.XmlUpdateRequestHandler.processUpdate(XmlUpdateRequestHandler.java:196)
at
org.apache.solr.handler.XmlUpdateRequestHandler.handleRequestBody(XmlUpdateRequestHandler.java:123)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204)
at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:542)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)



I have this in my solrconfig:

<indexDefaults>
<useCompoundFile>false</useCompoundFile>
<mergeFactor>10</mergeFactor>
<ramBufferSizeMB>32</ramBufferSizeMB>
<maxMergeDocs>2147483647</maxMergeDocs>
<maxFieldLength>10000</maxFieldLength>
<writeLockTimeout>1000</writeLockTimeout>
<commitLockTimeout>10000</commitLockTimeout>
<lockType>simple</lockType>
</indexDefaults>


I have to use two workers because we are indexing a lot and doing it 1
worker will take a long time. The thing is, the errors is randomly appearing
and no clear path why is it doing that.

May I doing some odd here?

Sorry for such a long email :)

Thanks,
Renz

Reply via email to