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:[EMAIL PROTECTED]: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)

Reply via email to