Hello Ravish, Erick,

I'm facing the same issue with solr-trunk (as of r1071282)

- Field configuration :
<fieldType name="normalized_string" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
<filter class="solr.TrimFilterFactory"/>
</analyzer>
</fieldType>

- Schema configuration :
<field name="f1" type="normalized_string" indexed="true" stored="true"/>
<field name="f2" type="normalized_string" indexed="true" stored="true"/>
<field name="f3" type="normalized_string" indexed="true" stored="true"/>

In my test index, I have documents with sparse values : Some documents may or may not have a value for f1, f2 and/or f3
The number of indexed documents is around 250000.

I'm facing the issue at query time, depending on my query, and the temperature of the index.

Parameters having an effect on the reproducibility :
- number of levels of the decision tree : the deeper the tree, the faster the exceptions arises - facet.limit parameter : the higher the limit, the faster the exception arises.

Examples :

All docs, facet-pivoting on all fields that matters, varying on facet.limit :
q=*:* pivot=f1,f2,f3 facet.limit=1  : OK
q=*:* pivot=f1,f2,f3 facet.limit=2  : OK
...
q=*:* pivot=f1,f2,f3 facet.limit=8  : OK
q=*:* pivot=f1,f2,f3 facet.limit=9  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=9  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=9  : OK
q=*:* pivot=f1,f2,f3 facet.limit=10  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=10  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=10  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=10  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=10  : NOT OK
retry
q=*:* pivot=f1,f2,f3 facet.limit=10  : OK
q=*:* pivot=f1,f2,f3 facet.limit=11  : NOT OK
...

It really looks like a cache issue.
After some retries, I can finally obtain my results, and not an HTTP 500.

Once I obtain my results, I can ask for more, if wait a little.
That's very odd.

So before I continue, here is my query configuration :
<query>
<maxBooleanClauses>1024</maxBooleanClauses>
<filterCache class="solr.FastLRUCache" size="512" initialSize="512" autowarmCount="0"/> <queryResultCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="0"/> <documentCache class="solr.LRUCache" size="1024" initialSize="512" autowarmCount="0"/>
<enableLazyFieldLoading>true</enableLazyFieldLoading>
<queryResultWindowSize>20</queryResultWindowSize>
<queryResultMaxDocsCached>200</queryResultMaxDocsCached>
<listener event="newSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<!--
<lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst> <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst> <lst><str name="q">static newSearcher warming query from solrconfig.xml</str></lst>
      -->
</arr>
</listener>
<listener event="firstSearcher" class="solr.QuerySenderListener">
<arr name="queries">
<lst> <str name="q">solr rocks</str><str name="start">0</str><str name="rows">10</str></lst> <lst><str name="q">static firstSearcher warming query from solrconfig.xml</str></lst>
</arr>
</listener>
<useColdSearcher>false</useColdSearcher>
<maxWarmingSearchers>2</maxWarmingSearchers>
</query>

That's very much like the default configuration.

I guess that the default cache configuration is not perfectly suitable for facet pivoting, so any hint on how to tweak it right is welcome.

Kind regards,

--
Tanguy

On 02/15/2011 06:05 PM, Erick Erickson wrote:
To get meaningful help, you have to post a minimum of:
1>  the relevant schema definitions for the field that makes it blow
up. include the<fieldType>  and<field>  tags.
2>  the query you used, with some indication of the field that makes it blow up.
3>  What version you're using
4>  any changes you've made to the standard configurations.
5>  whether you've recently installed a new version.

It might help if you reviewed: http://wiki.apache.org/solr/UsingMailingLists

Best
Erick

On Tue, Feb 15, 2011 at 11:27 AM, Ravish Bhagdev
<ravish.bhag...@gmail.com>  wrote:
Looks like its a bug?  Is it not?

Ravish

On Tue, Feb 15, 2011 at 4:03 PM, Ravish Bhagdev<ravish.bhag...@gmail.com>wrote:

When include some of the fields in my search query:

SEVERE: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
[Lorg.apache.solr.common.util.ConcurrentLRUCache$CacheEntry;
  at
org.apache.solr.common.util.ConcurrentLRUCache$PQueue.myInsertWithOverflow(ConcurrentLRUCache.java:377)
at
org.apache.solr.common.util.ConcurrentLRUCache.markAndSweep(ConcurrentLRUCache.java:329)
  at
org.apache.solr.common.util.ConcurrentLRUCache.put(ConcurrentLRUCache.java:144)
at org.apache.solr.search.FastLRUCache.put(FastLRUCache.java:131)
  at
org.apache.solr.search.SolrIndexSearcher.getDocSet(SolrIndexSearcher.java:904)
at
org.apache.solr.handler.component.PivotFacetHelper.doPivots(PivotFacetHelper.java:121)
  at
org.apache.solr.handler.component.PivotFacetHelper.doPivots(PivotFacetHelper.java:126)
at
org.apache.solr.handler.component.PivotFacetHelper.process(PivotFacetHelper.java:85)
  at
org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:84)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:231)
  at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1298)
  at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:340)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:240)
  at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
  at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
  at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)

Works with some fields not with others...

What could be the problem?  It is hard to know with just that exception as
it refers to solr's internal files...any indicators will help me debug.

Thanks,
Ravish



--
--
Tanguy

Reply via email to