That is strange. If you turn off autowarming for fieldValueCache and
this goes away that would be _really_ strange indeed.

But my bet is that you _are_ doing something that uninverts the text
field (obviously inadvertently). If you restart Solr and monitor the
log until the first time you see this exception, what do the queries
show? My guess is that once you get some query in your
queryResultCache or filterCache it gets recycled and produces this on
autowarm rather than the fieldValueCache, but that's a total guess.

And my guess is correct, there's probably _is_ a JIRA here to not put
anything in caches (filter or queryResult) that's an exception......

Puzzled,
Erick

On Wed, Nov 9, 2016 at 1:33 AM, Bram Van Dam <bram.van...@intix.eu> wrote:
> Hey folks,
>
> I'm frequently getting the following error, which has me a little puzzled:
>
> Error during auto-warming of
> key:text:org.apache.solr.common.SolrException:
> java.lang.IllegalStateException: Too many values for UnInvertedField
> faceting on field text
>
> This is strange because the field in question is a full text field,
> which will never ever be used in faceting. I don't understand why Solr
> is trying to build an uninverted index for faceting on this field during
> auto-warming.
>
> Should I turn off the auto-warming of fieldValueCache? But then that
> will probably affect overall performance of other fields, which is
> something I'd like to avoid.
>
> Is there any way to exclude this field from being cached in the manner?
>
> Thanks a bunch. Stack trace and field definitions below.
>
>  - Bram
>
> Field:
>
> <fieldType name="text" class="solr.TextField" omitNorms="true"
> positionIncrementGap="100">
>  <analyzer>
>   <tokenizer class="solr.StandardTokenizerFactory"/>
>   <filter class="solr.LowerCaseFilterFactory"/>
>  </analyzer>
> </fieldType>
>
> <field name="text" type="text" docValues="false" indexed="true"
> stored="false" required="false" multiValued="false" omitNorms="true"
> termVectors="false" termPositions="false" termOffsets="false"  />
>
> Cache definition:
>
> <fieldValueCache class="solr.FastLRUCache" size="10000"
> autowarmCount="1024" showItems="32" />
>
> Full stack trace:
>
> 2016-11-08
> 03:35:57.196/UTC|ERROR|searcherExecutor-27-thread-1-processing-x:myIndex||||x:myIndex|org.apache.solr.search.FastLRUCache|Error
> during auto-warming of key:text:org.apache.solr.common.SolrException:
> java.lang.IllegalStateException: Too many values for UnInvertedField
> faceting on field text
>         at
> org.apache.solr.search.facet.UnInvertedField.<init>(UnInvertedField.java:194)
>         at
> org.apache.solr.search.facet.UnInvertedField.getUnInvertedField(UnInvertedField.java:595)
>         at
> org.apache.solr.search.SolrIndexSearcher$1.regenerateItem(SolrIndexSearcher.java:523)
>         at org.apache.solr.search.FastLRUCache.warm(FastLRUCache.java:163)
>         at
> org.apache.solr.search.SolrIndexSearcher.warm(SolrIndexSearcher.java:2320)
>         at org.apache.solr.core.SolrCore$4.call(SolrCore.java:1851)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:231)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException: Too many values for
> UnInvertedField faceting on field text
>         at 
> org.apache.lucene.uninverting.DocTermOrds.uninvert(DocTermOrds.java:489)
>         at
> org.apache.solr.search.facet.UnInvertedField.<init>(UnInvertedField.java:192)
>         ... 10 more
>
>

Reply via email to