lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otis Gospodnetic <otis_gospodne...@yahoo.com>
Subject Re: OOM when autowarming is enabled
Date Wed, 25 Jul 2007 11:39:31 GMT
Luis,
This will help you spot the source of the OOM:

$ jps
$ jmap -histo:live <pid from jps here> | head -20

Do that a few times while auto-warming is happening and you'll see what's growing.

I'm assuming you are using java 1.6.

Otis
--
Lucene Consulting -- http://lucene-consulting.com/



----- Original Message ----
From: Luis Neves <luis.neves@co.sapo.pt>
To: solr-user@lucene.apache.org
Sent: Wednesday, July 25, 2007 12:55:31 PM
Subject: OOM when autowarming is enabled


Hello all.

We are having some issues with one of our Solr instances when autowarming is 
enabled. The index has about 2.2M documents and 2GB of size, so it's not 
particularly big. Solr runs with "-Xmx1024M -Xms1024M".

We are constantly inserting and updating the index, about 20 new/updated 
documents per minute, with a commit every 10 minutes.
These are our cache settings:

<filterCache class="solr.LRUCache" size="512" initialSize="512" 
autowarmCount="256"/>

<queryResultCache class="solr.LRUCache" size="512" initialSize="512" 
autowarmCount="256"/>

<documentCache class="solr.LRUCache" size="512" initialSize="512" 
autowarmCount="0"/>

When the autowarming is disabled there are no OOM errors, but the first search 
after a commit takes ~10 seconds and that is too long.

I've enabled the "-XX:+HeapDumpOnOutOfMemoryError" flag. If this happen again I 
will be able to produce a headdump for analysis... meanwhile is there any 
setting that we can tweak that is easier on the memory and still manages to make 
the first search after a commit return in a reasonable time?

Thanks!

--
Luis Neves



StackTrace:
Error during auto-warming of 
key:org.apache.solr.search.QueryResultKey@ce951c5e:java.lang.OutOfMemoryError: 
GC overhead limit exceeded
at org.apache.lucene.index.TermBuffer.toTerm(TermBuffer.java:104)
at org.apache.lucene.index.SegmentTermEnum.term(SegmentTermEnum.java:159)
at org.apache.lucene.index.TermInfosReader.scanEnum(TermInfosReader.java:165)
at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:153)
at org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:54)
at org.apache.lucene.index.MultiTermDocs.termDocs(MultiReader.java:429)
at org.apache.lucene.index.MultiTermDocs.next(MultiReader.java:380)
at org.apache.lucene.search.FieldCacheImpl$10.createValue(FieldCacheImpl.java:383)
at org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72)
at org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:350)
at 
org.apache.solr.search.function.ReverseOrdFieldSource.getValues(ReverseOrdFieldSource.java:56)
at 
org.apache.solr.search.function.ReciprocalFloatFunction.getValues(ReciprocalFloatFunction.java:57)
at 
org.apache.solr.search.function.LinearFloatFunction.getValues(LinearFloatFunction.java:49)
at 
org.apache.solr.search.function.FunctionQuery$AllScorer.<init>(FunctionQuery.java:100)
at 
org.apache.solr.search.function.FunctionQuery$FunctionWeight.scorer(FunctionQuery.java:78)
at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:233)
at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:143)
at org.apache.lucene.search.Searcher.search(Searcher.java:118)
at org.apache.lucene.search.Searcher.search(Searcher.java:97)
at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:888)
at org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:805)
at org.apache.solr.search.SolrIndexSearcher.access$1(SolrIndexSearcher.java:709)
at 
org.apache.solr.search.SolrIndexSearcher$2.regenerateItem(SolrIndexSearcher.java:251)
at org.apache.solr.search.LRUCache.warm(LRUCache.java:193)
at org.apache.solr.search.SolrIndexSearcher.warm(SolrIndexSearcher.java:1385)
at org.apache.solr.core.SolrCore$1.call(SolrCore.java:488)
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:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)




Mime
View raw message