Here is cache in solrconfig.xml

 <!-- Cache used by SolrIndexSearcher for filters (DocSets),
         unordered sets of *all* documents that match a query.
         When a new searcher is opened, its caches may be prepopulated
         or "autowarmed" using data from caches in the old searcher.
         autowarmCount is the number of items to prepopulate.  For LRUCache,
         the autowarmed items will be the most recently accessed items.
       Parameters:
         class - the SolrCache implementation (currently only LRUCache)
         size - the maximum number of entries in the cache
         initialSize - the initial capacity (number of entries) of
           the cache.  (seel java.util.HashMap)
         autowarmCount - the number of entries to prepopulate from
           and old cache.
         -->
    <filterCache
      class="solr.LRUCache"
      size="512"
      initialSize="512"
      autowarmCount="256"/>

   <!-- queryResultCache caches results of searches - ordered lists of
         document ids (DocList) based on a query, a sort, and the range
         of documents requested.  -->
    <queryResultCache
      class="solr.LRUCache"
      size="512"
      initialSize="512"
      autowarmCount="256"/>

  <!-- documentCache caches Lucene Document objects (the stored fields for each 
document).
       Since Lucene internal document ids are transient, this cache will not be 
autowarmed.  -->
    <documentCache
      class="solr.LRUCache"
      size="512"
      initialSize="512"
      autowarmCount="0"/>

    <!-- If true, stored fields that are not requested will be loaded lazily.

    This can result in a significant speed improvement if the usual case is to
    not load all stored fields, especially if the skipped fields are large 
compressed
    text fields.
    -->
    <enableLazyFieldLoading>true</enableLazyFieldLoading>

    <!-- Example of a generic cache.  These caches may be accessed by name
         through SolrIndexSearcher.getCache(),cacheLookup(), and cacheInsert().
         The purpose is to enable easy caching of user/application level data.
         The regenerator argument should be specified as an implementation
         of solr.search.CacheRegenerator if autowarming is desired.  -->
    <!--
    <cache name="myUserCache"
      class="solr.LRUCache"
      size="4096"
      initialSize="1024"
      autowarmCount="1024"
      regenerator="org.mycompany.mypackage.MyRegenerator"
      />
    -->

   <!-- An optimization that attempts to use a filter to satisfy a search.
         If the requested sort does not include score, then the filterCache
         will be checked for a filter matching the query. If found, the filter
         will be used as the source of document ids, and then the sort will be
         applied to that.
    <useFilterForSortedQuery>true</useFilterForSortedQuery>
   -->

   <!-- An optimization for use with the queryResultCache.  When a search
         is requested, a superset of the requested number of document ids
         are collected.  For example, if a search for a particular query
         requests matching documents 10 through 19, and queryWindowSize is 50,
         then documents 0 through 50 will be collected and cached.  Any further
         requests in that range can be satisfied via the cache.  -->
    <queryResultWindowSize>10</queryResultWindowSize>

    <!-- This entry enables an int hash representation for filters (DocSets)
         when the number of items in the set is less than maxSize.  For smaller
         sets, this representation is more memory efficient, more efficient to
         iterate over, and faster to take intersections.  -->
    <HashDocSet maxSize="3000" loadFactor="0.75"/>


    <!-- boolToFilterOptimizer converts boolean clauses with zero boost
         into cached filters if the number of docs selected by the clause 
exceeds
         the threshold (represented as a fraction of the total index) -->
    <boolTofilterOptimizer enabled="true" cacheSize="32" threshold=".05"/>


    <!-- a newSearcher event is fired whenever a new searcher is being prepared
         and there is a current searcher handling requests (aka registered). -->
    <!-- QuerySenderListener takes an array of NamedList and executes a
         local query request for each NamedList in sequence. -->
    <!--
    <listener event="newSearcher" class="solr.QuerySenderListener">


r...@solrslave06 conf]# cat solrconfig.xml  | grep -i cache
    <!-- Cache used by SolrIndexSearcher for filters (DocSets),
         When a new searcher is opened, its caches may be prepopulated
         or "autowarmed" using data from caches in the old searcher.
         autowarmCount is the number of items to prepopulate.  For LRUCache,
         class - the SolrCache implementation (currently only LRUCache)
         size - the maximum number of entries in the cache
           the cache.  (seel java.util.HashMap)
           and old cache.
    <filterCache
      class="solr.LRUCache"
   <!-- queryResultCache caches results of searches - ordered lists of
    <queryResultCache
      class="solr.LRUCache"
  <!-- documentCache caches Lucene Document objects (the stored fields for each 
document).
       Since Lucene internal document ids are transient, this cache will not be 
autowarmed.  -->
    <documentCache
      class="solr.LRUCache"
    <!-- Example of a generic cache.  These caches may be accessed by name
         through SolrIndexSearcher.getCache(),cacheLookup(), and cacheInsert().
         of solr.search.CacheRegenerator if autowarming is desired.  -->
    <cache name="myUserCache"
      class="solr.LRUCache"
         If the requested sort does not include score, then the filterCache
   <!-- An optimization for use with the queryResultCache.  When a search
         then documents 0 through 50 will be collected and cached.  Any further
         requests in that range can be satisfied via the cache.  -->
         into cached filters if the number of docs selected by the clause 
exceeds
    <boolTofilterOptimizer enabled="true" cacheSize="32" threshold=".05"/>
      1-2 for read-only slaves, higher for masters w/o cache warming. -->
       every xsltCacheLifetimeSeconds.
    <int name="xsltCacheLifetimeSeconds">5</int>


And here is in schema.xml

     Sort artist name used by mp3 store to sort artist title for search
        -->
    <field name="sortArtistName" type="text" indexed="true" stored="true"/>
    <field name="availableOnAlbum" type="boolean" indexed="true" stored="true"/>

   <field name="sku" type="textTight" indexed="true" stored="true" 
omitNorms="true"/>
   <field name="text" type="text" indexed="true" stored="false" 
multiValued="true"/>

   <field name="trackSort" type="string" indexed="true" stored="false"/>
   <field name="alphaTrackSort" type="alphaOnlySort" indexed="true" 
stored="true"/>

   <field name="albumSort" type="string" indexed="true" stored="false"/>
   <field name="alphaAlbumSort" type="alphaOnlySort" indexed="true" 
stored="false"/>

   <field name="artistSort" type="string" indexed="true" stored="false"/>
   <field name="alphaArtistSort" type="alphaOnlySort" indexed="true" 
stored="false"/>

   <field name="genreSort" type="string" indexed="true" stored="false"/>
   <field name="genreArtistSort" type="alphaOnlySort" indexed="true" 
stored="false"/>


   <!-- Here, default is used to create a "timestamp" field indicating
        When each document was indexed.
     -->
   <field name="timestamp" type="date" indexed="true" stored="true" 
default="NOW" multiValued="false"/>

 <fieldType name="string" class="solr.StrField" sortMissingLast="true" 
omitNorms="true"/>

    <!-- boolean type: "true" or "false" -->
    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" 
omitNorms="true"/>

    <!-- The optional sortMissingLast and sortMissingFirst attributes are
         currently supported on types that are sorted internally as strings.
       - If sortMissingLast="true", then a sort on this field will cause 
documents
         without the field to come after documents with the field,
         regardless of the requested sort order (asc or desc).
       - If sortMissingFirst="true", then a sort on this field will cause 
documents
         without the field to come before documents with the field,
         regardless of the requested sort order.
       - If sortMissingLast="false" and sortMissingFirst="false" (the default),
         then default lucene sorting will be used which places docs without the
         field first in an ascending sort and last in a descending sort.
    -->


    <!-- numeric field types that store and index the text
         value verbatim (and hence don't support range queries, since the
         lexicographic ordering isn't equal to the numeric ordering) -->
    <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
    <fieldType name="long" class="solr.LongField" omitNorms="true"/>
    <fieldType name="float" class="solr.FloatField" omitNorms="true"/>
    <fieldType name="double" class="solr.DoubleField" omitNorms="true"/>

!-- Numeric field types that manipulate the value into
         a string value that isn't human-readable in its internal form,
         but with a lexicographic ordering the same as the numeric ordering,
         so that range queries work correctly. -->
    <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" 
omitNorms="true"/>
    <fieldType name="slong" class="solr.SortableLongField" 
sortMissingLast="true" omitNorms="true"/>
    <fieldType name="sfloat" class="solr.SortableFloatField" 
sortMissingLast="true" omitNorms="true"/>
    <fieldType name="sdouble" class="solr.SortableDoubleField" 
sortMissingLast="true" omitNorms="true"/>


 <!-- A text field that uses WordDelimiterFilter to enable splitting and 
matching of
        words on case-change, alpha numeric boundaries, and non-alphanumeric 
chars,
        so that a query of "wifi" or "wi fi" could match a document containing 
"Wi-Fi".
        Synonyms and stopwords are customized by external files, and stemming 
is enabled.
        Duplicate tokens at the same position (which may result from Stemmed 
Synonyms or
        WordDelim parts) are removed.
        -->
    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" 
ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" 
words="stopwords.txt"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" 
generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.EnglishPorterFilterFactory" 
protected="protwords.txt"/>
         <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" 
ignoreCase="true" expand="true"/>
         <filter class="solr.StopFilterFactory" ignoreCase="true" 
words="stopwords.txt"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" 
generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.EnglishPorterFilterFactory" 
protected="protwords.txt"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>


-----Original Message-----
From: Otis Gospodnetic [mailto:otis_gospodne...@yahoo.com]
Sent: Tuesday, May 05, 2009 10:32 AM
To: solr-user@lucene.apache.org
Subject: Re: OutOfMemory error


Hi Francis,

How big are your caches?  Please paste the relevant part of the config.
Which of your fields do you sort by?  Paste definitions of those fields from 
schema.xml, too.

 Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch



----- Original Message ----
> From: Francis Yakin <fya...@liquid.com>
> To: "solr-user@lucene.apache.org" <solr-user@lucene.apache.org>
> Sent: Tuesday, May 5, 2009 1:00:07 PM
> Subject: OutOfMemory error
>
>
> I am having frequent OutOfMemory error on our slaves server.
>
> SEVERE: Error during auto-warming of
> key:org.apache.solr.search.queryresult...@aca6b9cb:java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 34279632, Num elements: 8569904
> SEVERE: Error during auto-warming of
> key:org.apache.solr.search.queryresult...@f9947c35:java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 34431488, Num elements: 8607868
> SEVERE: Error during auto-warming of
> key:org.apache.solr.search.queryresult...@d938cfa3:java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 34431488, Num elements: 8607868
> Exception in thread "[ACTIVE] ExecuteThread: '2' for queue:
> 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
> Exception in thread "[ACTIVE] ExecuteThread: '5' for queue:
> 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
> Exception in thread "[ACTIVE] ExecuteThread: '8' for queue:
> 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
> Exception in thread "[STANDBY] ExecuteThread: '3' for queue:
> 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
> Exception in thread "[ACTIVE] ExecuteThread: '13' for queue:
> 'weblogic.kernel.Default (self-tuning)'" java.lang.OutOfMemoryError:
> allocLargeObjectOrArray - Object size: 8208, Num elements: 8192
>
>
> We are running weblogic and java version is 1.5.
>
> We set the heap size to 1.5GB?
>
> What's the recommendation for this issue?
>
> Thanks
>
> Francis

Reply via email to