Thanks for the explanation mark. The reason I had it as 512 max was cos earlier 
the data file was just about 30 megs and it increased to this much for of the 
usage of EdgeNGramFactoryFilter for 2 fields. Thats great to know it just 
happens for the first search. But this exception has been occuring for me for 
the whole of today. Should I fiddle around with the warmer settings too? I have 
also instructed an increase in Heap to 1024. Will keep you posted on the turn 
arounds.

Thanks
-Sundar


> Date: Tue, 22 Jul 2008 15:46:04 -0400
> From: [EMAIL PROTECTED]
> To: solr-user@lucene.apache.org
> Subject: Re: Out of memory on Solr sorting
> 
> Because to sort efficiently, Solr loads the term to sort on for each doc 
> in the index into an array. For ints,longs, etc its just an array the 
> size of the number of docs in your index (i believe deleted or not). For 
> a String its an array to hold each unique string and an array of ints 
> indexing into the String array.
> 
> So if you do a sort, and search for something that only gets 1 doc as a 
> hit...your still loading up that field cache for every single doc in 
> your index on the first search. With solr, this happens in the 
> background as it warms up the searcher. The end story is, you need more 
> RAM to accommodate the sort most likely...have you upped your xmx 
> setting? I think you can roughly say a 2 million doc index would need 
> 40-50 MB (depending and rough, but to give an idea) per field your 
> sorting on.
> 
> - Mark
> 
> sundar shankar wrote:
> > Thanks Fuad.
> >                   But why does just sorting provide an OOM. I executed the 
> > query without adding the sort clause it executed perfectly. In fact I even 
> > tried remove the maxrows=10 and executed. it came out fine. Queries with 
> > bigger results seems to come out fine too. But why just sort of that too 
> > just 10 rows??
> >  
> > -Sundar
> >
> >
> >
> >   
> >> Date: Tue, 22 Jul 2008 12:24:35 -0700> From: [EMAIL PROTECTED]> To: 
> >> solr-user@lucene.apache.org> Subject: RE: Out of memory on Solr sorting> > 
> >> org.apache.lucene.search.FieldCacheImpl$10.createValue(FieldCacheImpl.java:403)>
> >>  > - this piece of code do not request Array[100M] (as I seen with > 
> >> Lucene), it asks only few bytes / Kb for a field...> > > Probably 128 - 
> >> 512 is not enough; it is also advisable to use equal sizes> -Xms1024M 
> >> -Xmx1024M> (it minimizes GC frequency, and itensures that 1024M is 
> >> available at startup)> > OOM happens also with fragmented memory, when 
> >> application requests big > contigues fragment and GC is unable to 
> >> optimize; looks like your > application requests a little and memory is 
> >> not available...> > > Quoting sundar shankar <[EMAIL PROTECTED]>:> > >> >> 
> >> >> >> From: [EMAIL PROTECTED]> >> To: solr-user@lucene.apache.org> >> 
> >> Subject: Out of memory on Solr sorting> >> Date: Tue, 22 Jul 2008 19:11:02 
> >> +0000> >>> >>> >> Hi,> >> Sorry again fellos. I am not sure whats 
> >> happening. The day with > >> solr is bad for me I guess. EZMLM didnt let 
> >> me send any mails this > >> morning. Asked me to confirm subscription and 
> >> when I did, it said I > >> was already a member. Now my mails are all 
> >> coming out bad. Sorry > >> for troubling y'all this bad. I hope this mail 
> >> comes out right.> >> >> > Hi,> > We are developing a product in a agile 
> >> manner and the current > > implementation has a data of size just about a 
> >> 800 megs in dev.> > The memory allocated to solr on dev (Dual core Linux 
> >> box) is 128-512.> >> > My config> > =========> >> > <!-- autocommit 
> >> pending docs if certain criteria are met> > <autoCommit>> > 
> >> <maxDocs>10000</maxDocs>> > <maxTime>1000</maxTime>> > </autoCommit>> > 
> >> -->> >> > <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"/>> >> > 
> >> <enableLazyFieldLoading>true</enableLazyFieldLoading>> >> >> > My Field> > 
> >> =======> >> > <fieldType name="autocomplete" class="solr.TextField">> > 
> >> <analyzer type="index">> > <tokenizer 
> >> class="solr.KeywordTokenizerFactory"/>> > <filter 
> >> class="solr.LowerCaseFilterFactory" />> > <filter 
> >> class="solr.PatternReplaceFilterFactory" > > pattern="([^a-z0-9])" 
> >> replacement="" replace="all" />> > <filter 
> >> class="solr.EdgeNGramFilterFactory" > > maxGramSize="100" minGramSize="1" 
> >> />> > </analyzer>> > <analyzer type="query">> > <tokenizer 
> >> class="solr.KeywordTokenizerFactory"/>> > <filter 
> >> class="solr.LowerCaseFilterFactory" />> > <filter 
> >> class="solr.PatternReplaceFilterFactory" > > pattern="([^a-z0-9])" 
> >> replacement="" replace="all" />> > <filter 
> >> class="solr.PatternReplaceFilterFactory" > > pattern="^(.{20})(.*)?" 
> >> replacement="$1" replace="all" />> > </analyzer>> > </fieldType>> >> >> > 
> >> Problem> > ======> >> > I execute a query that returns 24 rows of result. 
> >> I pick 10 out of > > it. I have no problem when I execute this.> > But 
> >> When I do sort it by a String field that is fetched from this > > result. 
> >> I get an OOM. I am able to execute several> > other queries with no 
> >> problem. Just having a sort asc clause added > > to the query throws an 
> >> OOM. Why is that.> > What should I have ideally done. My config on QA is 
> >> pretty similar > > to the dev box and probably has more data than on dev.> 
> >> > It didnt throw any OOM during the integration test. The Autocomplete > > 
> >> is a new field we added recently.> >> > Another point is that the indexing 
> >> is done with a field of type string> > <field name="XXX" type="string" 
> >> indexed="true" stored="true" > > termVectors="true"/>> >> > and the 
> >> autocomplete field is a copy field.> >> > The sorting is done based on 
> >> string field.> >> > Please do lemme know what mistake am I doing?> >> > 
> >> Regards> > Sundar> >> > P.S: The stack trace of the exception is> >> >> > 
> >> Caused by: org.apache.solr.client.solrj.SolrServerException: Error > > 
> >> executing query> > at > > 
> >> org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:86)>
> >>  > at > > 
> >> org.apache.solr.client.solrj.impl.BaseSolrServer.query(BaseSolrServer.java:101)>
> >>  > at > > 
> >> com.apollo.sisaw.solr.service.AbstractSolrSearchService.makeSolrQuery(AbstractSolrSearchService.java:193)>
> >>  > ... 105 more> > Caused by: org.apache.solr.common.SolrException: Java 
> >> heap space > > java.lang.OutOfMemoryError: Java heap space> > at > > 
> >> org.apache.lucene.search.FieldCacheImpl$10.createValue(FieldCacheImpl.java:403)>
> >>  > at 
> >> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72)> 
> >> > at > > 
> >> org.apache.lucene.search.FieldCacheImpl.getStringIndex(FieldCacheImpl.java:352)>
> >>  > at > > 
> >> org.apache.lucene.search.FieldSortedHitQueue.comparatorString(FieldSortedHitQueue.java:416)>
> >>  > at > > 
> >> org.apache.lucene.search.FieldSortedHitQueue$1.createValue(FieldSortedHitQueue.java:207)>
> >>  > at 
> >> org.apache.lucene.search.FieldCacheImpl$Cache.get(FieldCacheImpl.java:72)> 
> >> > at > > 
> >> org.apache.lucene.search.FieldSortedHitQueue.getCachedComparator(FieldSortedHitQueue.java:168)>
> >>  > at > > 
> >> org.apache.lucene.search.FieldSortedHitQueue.<init>(FieldSortedHitQueue.java:56)>
> >>  > at > > 
> >> org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:907)>
> >>  > at > > 
> >> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:838)>
> >>  > at > > 
> >> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:269)>
> >>  > at > > 
> >> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:160)>
> >>  > at > > 
> >> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:156)>
> >>  > at > > 
> >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:128)>
> >>  > at org.apache.solr.core.SolrCore.execute(SolrCore.java:1025)> > at > > 
> >> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:338)>
> >>  > at > > 
> >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:272)>
> >>  > at > > 
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)>
> >>  > at > > 
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)>
> >>  > at > > 
> >> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)>
> >>  > at > > 
> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)>
> >>  > at > > 
> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)>
> >>  > at > > 
> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)>
> >>  > at > > 
> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)>
> >>  > at > > 
> >> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)>
> >>  > at > > 
> >> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)>
> >>  > at > > 
> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)>
> >>  > at > > 
> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)>
> >>  > at > > 
> >> org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)>
> >>  > at > > 
> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)>
> >>  > at > > 
> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)>
> >>  > at 
> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)>
> >>  >> > _________________________________________________________________> > 
> >> Wish to Marry Now? Click Here to Register FREE> > 
> >> http://www.shaadi.com/registration/user/index.php?ptnr=mhottag> > > 
> >>     
> > _________________________________________________________________
> > Missed your favourite programme? Stop surfing TV channels and start 
> > planning your weekend TV viewing with our comprehensive TV Listing
> > http://entertainment.in.msn.com/TV/TVListing.aspx
> >   
> 
> 

_________________________________________________________________
Missed your favourite programme? Stop surfing TV channels and start planning 
your weekend TV viewing with our comprehensive TV Listing
http://entertainment.in.msn.com/TV/TVListing.aspx

Reply via email to