lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Smiley (@MITRE.org)" <DSMI...@mitre.org>
Subject Re: Spatial indexing: IndexOutOfBounds in QuadPrefixTree
Date Sat, 09 Mar 2013 07:30:07 GMT
Paul, FYI:

http://lucene.472066.n3.nabble.com/InvalidShapeException-when-using-SpatialRecursivePrefixTreeFieldType-with-custom-worldBounds-tt4045351.html

I suggested to file a bug report.

~  David


Paul Alexandrow wrote
> Hi List,
> 
> I've encountered this problem using Solr (4.1.0), but as far as I could 
> trace it, I think it belongs to this list.
> 
> I have the following field type in my schema:
> <fieldType
>        name="opening_hours"
>        class="solr.SpatialRecursivePrefixTreeFieldType"
>        geo="false"
>        worldBounds="0 0 1148327 1148327"
>        units="degrees"
> />
> As you can see, I'm using spatial indexing to store opening hours 
> (1148327 are epoch hours to a reasonable limit for my usecase) - 
> however, this is probably not important to my problem.
> 
> The problem is, that it seems I can't add one special coordinate into 
> the index, which is [372294 372306]. I couldn't figure out what makes 
> these coordinates so special, neither could I find out if there are any 
> other combinations that don't work.
> 
> I could however find out, that the reason for the IOOB-Ex is, that in 
> QuadPrefixTree.java the checkBattenberg() method does not add a QuadCell 
> to the matches, leaving the matches at zero length (which is either the 
> problem itself, or the problem is, that zero-length is not checked in 
> getNode()). Unfortunately I don't understand checkBattenberg() well 
> enough to delve any further - so I'm stuck.
> 
> Any help is very much appreciated, thanks,
> Paul
> 
> ----
> Find below a stacktrace of the Exception:
> 
> SEVERE: org.apache.solr.common.SolrException: ERROR: [doc=222] Error 
> adding field 'opening_hours'='372294 372306' msg=Index: 0, Size: 0
>          at 
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:318)
>          at 
> org.apache.solr.update.AddUpdateCommand.getLuceneDocument(AddUpdateCommand.java:73)
>          at 
> org.apache.solr.update.DirectUpdateHandler2.addDoc(DirectUpdateHandler2.java:201)
>          at 
> org.apache.solr.update.processor.RunUpdateProcessor.processAdd(RunUpdateProcessorFactory.java:69)
>          at 
> org.apache.solr.update.processor.UpdateRequestProcessor.processAdd(UpdateRequestProcessor.java:51)
>          at 
> org.apache.solr.update.processor.DistributedUpdateProcessor.doLocalAdd(DistributedUpdateProcessor.java:455)
>          at 
> org.apache.solr.update.processor.DistributedUpdateProcessor.versionAdd(DistributedUpdateProcessor.java:591)
>          at 
> org.apache.solr.update.processor.DistributedUpdateProcessor.processAdd(DistributedUpdateProcessor.java:350)
>          at 
> org.apache.solr.update.processor.LogUpdateProcessor.processAdd(LogUpdateProcessorFactory.java:100)
>          at 
> org.apache.solr.handler.loader.XMLLoader.processUpdate(XMLLoader.java:246)
>          at 
> org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:173)
>          at 
> org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
>          at 
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
>          at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>          at org.apache.solr.core.SolrCore.execute(SolrCore.java:1816)
>          at 
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:448)
>          at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:269)
>          at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
>          at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>          at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>          at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
>          at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
>          at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
>          at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
>          at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>          at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
>          at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>          at 
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
>          at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>          at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>          at org.eclipse.jetty.server.Server.handle(Server.java:365)
>          at 
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
>          at 
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
>          at 
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
>          at 
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
>          at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
>          at 
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>          at 
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
>          at 
> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
>          at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>          at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>          at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>          at java.util.ArrayList.rangeCheck(ArrayList.java:604)
>          at java.util.ArrayList.get(ArrayList.java:382)
>          at 
> org.apache.lucene.spatial.prefix.tree.QuadPrefixTree.getNode(QuadPrefixTree.java:146)
>          at 
> org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.getNodesAltPoint(SpatialPrefixTree.java:201)
>          at 
> org.apache.lucene.spatial.prefix.tree.QuadPrefixTree.getNodes(QuadPrefixTree.java:162)
>          at 
> org.apache.lucene.spatial.prefix.PrefixTreeStrategy.createIndexableFields(PrefixTreeStrategy.java:127)
>          at 
> org.apache.lucene.spatial.prefix.PrefixTreeStrategy.createIndexableFields(PrefixTreeStrategy.java:122)
>          at 
> org.apache.solr.schema.AbstractSpatialFieldType.createFields(AbstractSpatialFieldType.java:123)
>          at 
> org.apache.solr.schema.AbstractSpatialFieldType.createFields(AbstractSpatialFieldType.java:63)
>          at 
> org.apache.solr.update.DocumentBuilder.addField(DocumentBuilder.java:193)
>          at 
> org.apache.solr.update.DocumentBuilder.toDocument(DocumentBuilder.java:269)
>          ... 41 more
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: 

> java-user-unsubscribe@.apache

> For additional commands, e-mail: 

> java-user-help@.apache





-----
 Author: http://www.packtpub.com/apache-solr-3-enterprise-search-server/book
--
View this message in context: http://lucene.472066.n3.nabble.com/Spatial-indexing-IndexOutOfBounds-in-QuadPrefixTree-tp4040511p4045975.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message