You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Matthew Runo <mr...@zappos.com> on 2007/07/12 22:32:10 UTC
Deleting from a very active index
Hello!
I'm trying to remove a whole brand from our search index, but at the
same time we're also running an import for others. This means the
index is extreamly active at this time.
I am getting a lock timeout error, but not sure what to do about
it... should I just keep trying till it can get the lock to do the
delete?
[mruno@dev14:/home/mruno]$ curl http://search1.zappos.com:8080/solr/
update --silent --data-binary "<delete><query>brand:Harley-Davidson</
query></delete>" -H 'Content-type:text/xml; charset=utf-8'
<result status="1">org.apache.solr.core.SolrException: Error deleting
doc# 966
at org.apache.solr.update.UpdateHandler
$DeleteHitCollector.collect(UpdateHandler.java:175)
at org.apache.lucene.search.Scorer.score(Scorer.java:49)
at org.apache.lucene.search.IndexSearcher.search
(IndexSearcher.java:146)
at org.apache.solr.search.SolrIndexSearcher.search
(SolrIndexSearcher.java:407)
at org.apache.lucene.search.Searcher.search(Searcher.java:118)
at org.apache.solr.update.DirectUpdateHandler2.deleteByQuery
(DirectUpdateHandler2.java:343)
at org.apache.solr.handler.XmlUpdateRequestHandler.update
(XmlUpdateRequestHandler.java:260)
at
org.apache.solr.handler.XmlUpdateRequestHandler.doLegacyUpdate
(XmlUpdateRequestHandler.java:355)
at org.apache.solr.servlet.SolrUpdateServlet.doPost
(SolrUpdateServlet.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:188)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter
(SolrDispatchFilter.java:185)
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:174)
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.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)
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock
obtain timed out: SimpleFSLock@/opt/solr/data/index/write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:70)
at org.apache.lucene.index.IndexReader.acquireWriteLock
(IndexReader.java:626)
at org.apache.lucene.index.IndexReader.deleteDocument
(IndexReader.java:660)
at org.apache.solr.update.UpdateHandler
$DeleteHitCollector.collect(UpdateHandler.java:170)
... 27 more
+--------------------------------------------------------+
| Matthew Runo
| Zappos Development
| mruno@zappos.com
| 702-943-7833
+--------------------------------------------------------+
Re: Deleting from a very active index
Posted by Yonik Seeley <yo...@apache.org>.
I was going to say... that exception should never happen since solr
controls and synchronizes adds/deletes at a higher layer (with only
one solr instance accessing an index, we don't really need lucene
level locking at all).
One major cause of this is a crash/restart of the JVM leaving a stale
lock file behind. Those can be removed automatically at startup with
a tweak in solrconfig.xml
-Yonik
On 7/12/07, Matthew Runo <mr...@zappos.com> wrote:
> It looks like somehow the write.lock got hung. I manually removed the
> lock, and now things are good.
>
> Very strange.
Re: Deleting from a very active index
Posted by Matthew Runo <mr...@zappos.com>.
It looks like somehow the write.lock got hung. I manually removed the
lock, and now things are good.
Very strange.
+--------------------------------------------------------+
| Matthew Runo
| Zappos Development
| mruno@zappos.com
| 702-943-7833
+--------------------------------------------------------+
On Jul 12, 2007, at 1:32 PM, Matthew Runo wrote:
> Hello!
>
> I'm trying to remove a whole brand from our search index, but at
> the same time we're also running an import for others. This means
> the index is extreamly active at this time.
>
> I am getting a lock timeout error, but not sure what to do about
> it... should I just keep trying till it can get the lock to do the
> delete?
>
> [mruno@dev14:/home/mruno]$ curl http://search1.zappos.com:8080/solr/
> update --silent --data-binary "<delete><query>brand:Harley-
> Davidson</query></delete>" -H 'Content-type:text/xml; charset=utf-8'
> <result status="1">org.apache.solr.core.SolrException: Error
> deleting doc# 966
> at org.apache.solr.update.UpdateHandler
> $DeleteHitCollector.collect(UpdateHandler.java:175)
> at org.apache.lucene.search.Scorer.score(Scorer.java:49)
> at org.apache.lucene.search.IndexSearcher.search
> (IndexSearcher.java:146)
> at org.apache.solr.search.SolrIndexSearcher.search
> (SolrIndexSearcher.java:407)
> at org.apache.lucene.search.Searcher.search(Searcher.java:118)
> at org.apache.solr.update.DirectUpdateHandler2.deleteByQuery
> (DirectUpdateHandler2.java:343)
> at org.apache.solr.handler.XmlUpdateRequestHandler.update
> (XmlUpdateRequestHandler.java:260)
> at
> org.apache.solr.handler.XmlUpdateRequestHandler.doLegacyUpdate
> (XmlUpdateRequestHandler.java:355)
> at org.apache.solr.servlet.SolrUpdateServlet.doPost
> (SolrUpdateServlet.java:58)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:
> 710)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:
> 803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:269)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:188)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter
> (SolrDispatchFilter.java:185)
> 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:174)
> 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.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)
> Caused by: org.apache.lucene.store.LockObtainFailedException: Lock
> obtain timed out: SimpleFSLock@/opt/solr/data/index/write.lock
> at org.apache.lucene.store.Lock.obtain(Lock.java:70)
> at org.apache.lucene.index.IndexReader.acquireWriteLock
> (IndexReader.java:626)
> at org.apache.lucene.index.IndexReader.deleteDocument
> (IndexReader.java:660)
> at org.apache.solr.update.UpdateHandler
> $DeleteHitCollector.collect(UpdateHandler.java:170)
> ... 27 more
>
> +--------------------------------------------------------+
> | Matthew Runo
> | Zappos Development
> | mruno@zappos.com
> | 702-943-7833
> +--------------------------------------------------------+
>
>