Details
Description
If I run queries which have matches after I commit documents, I get IndexOutOfBounds exceptions.
This is repeatable.
==== Details ====
=== Stack Trace ===
HTTP ERROR 500
Problem accessing /solr/select. Reason:
Index: 114, Size: 36
java.lang.IndexOutOfBoundsException: Index: 114, Size: 36
at java.util.ArrayList.rangeCheck(ArrayList.java:571)
at java.util.ArrayList.get(ArrayList.java:349)
at org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:264)
at org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:204)
at org.apache.lucene.index.SegmentReader.document(SegmentReader.java:828)
at org.apache.lucene.index.DirectoryReader.document(DirectoryReader.java:588)
at org.apache.solr.search.SolrIndexReader.document(SolrIndexReader.java:266)
at org.apache.solr.search.SolrIndexSearcher.doc(SolrIndexSearcher.java:429)
at org.apache.solr.util.SolrPluginUtils.optimizePreFetchDocs(SolrPluginUtils.java:268)
at org.apache.solr.handler.component.QueryComponent.doPrefetch(QueryComponent.java:287)
at org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:186)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:195)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1323)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:337)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:240)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
</code>
=== Procedure ===
Here is how I make it happen:
- create a new cck node with some custom fields
- run drupal's cron
- run a solr query that should have results.
- error message above appears.
For example, I have a cck type 'authorized term', that has all text fields. I make a new 'authorized term' and run Drupal's cron. Then I execute this query:
http://localhost:8983/solr/select?q=tape
(there should be a result for this query)
The stack trace above appears as the result.
Note that if there are no results (e.g. http://localhost:8983/solr/select?q=asdfadf) then there is no error.
If I delete the index and rebuild it, and then run the query, there are no errors and I get the results I expect.
=== related ===
might be related to this message?
http://lucene.472066.n3.nabble.com/Querying-throws-java-util-ArrayList-RangeCheck-td998369.html
I'm using solr-4.0 because of the lucene syntax query parsing (I need fuzzy searches).
If you need any other diagnostic info, just let me know. I'm fairly new to Solr, so my apologies if I'm missing anything.
I think you all are doing great work on the project, and Solr has already been a tremendous help to me.