This one is different. Basically, this time the XYZSolid is *definitely* within the GeoCircle. So the membership operation between the point and the circle is failing but should not be. Evaluating the circle plane at the point yields: 1.1158007851008733E-10, which is indeed outside the shape value. But, the point is clearly not quite on the surface, so that can happen.
So here we have a case where the packing resolution is definitely causing the assertion failure. What I think better behavior might be is to simply disable the assert. This will mean that points that are *technically* outside the shape will still get returned once in a while, but I imagine that this would basically just wind up making the boundary a bit fuzzy. I could add a method that would check for membership at a lower resolution but that's a fair bit of work just to support the one assertion. Thoughts? Karl On Tue, Aug 25, 2015 at 6:59 PM, Michael McCandless (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/LUCENE-6759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14712139#comment-14712139 > ] > > Michael McCandless commented on LUCENE-6759: > -------------------------------------------- > > > Another failure, where the cell is within the shape, so BKD tree > recurses into addAll, yet a doc within the cell is not within the > shape: > > {noformat} > [junit4] 2> NOTE: reproduce with: ant test > -Dtestcase=TestGeo3DPointField -Dtests.method=testRandomMedium > -Dtests.seed=D75138C6C25D1BCF -Dtests.multiplier=10 -Dtests.slow=true > -Dtests.locale=de_GR -Dtests.timezone=America/Managua -Dtests.asserts=true > -Dtests.file.encoding=US-ASCII > [junit4] ERROR 9.88s | TestGeo3DPointField.testRandomMedium <<< > [junit4] > Throwable #1: > com.carrotsearch.randomizedtesting.UncaughtExceptionError: Captured an > uncaught exception in thread: Thread[id=28, name=T0, state=RUNNABLE, > group=TGRP-TestGeo3DPointField] > [junit4] > at > __randomizedtesting.SeedInfo.seed([D75138C6C25D1BCF:6A8F0F6E833878A9]:0) > [junit4] > Caused by: java.lang.RuntimeException: > java.lang.RuntimeException: FAILED > [junit4] > at > __randomizedtesting.SeedInfo.seed([D75138C6C25D1BCF]:0) > [junit4] > at > org.apache.lucene.bkdtree3d.TestGeo3DPointField$4.run(TestGeo3DPointField.java:524) > [junit4] > Caused by: java.lang.RuntimeException: FAILED > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.addAll(BKD3DTreeReader.java:159) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:203) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:329) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:295) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:305) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:329) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:319) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:295) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:280) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:270) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:270) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:295) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:319) > [junit4] > at > org.apache.lucene.bkdtree3d.BKD3DTreeReader.intersect(BKD3DTreeReader.java:115) > [junit4] > at > org.apache.lucene.bkdtree3d.PointInGeo3DShapeQuery$1.scorer(PointInGeo3DShapeQuery.java:114) > [junit4] > at > org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.scorer(LRUQueryCache.java:589) > [junit4] > at > org.apache.lucene.search.Weight.bulkScorer(Weight.java:135) > [junit4] > at > org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:69) > [junit4] > at > org.apache.lucene.search.AssertingWeight.bulkScorer(AssertingWeight.java:69) > [junit4] > at > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:618) > [junit4] > at > org.apache.lucene.search.AssertingIndexSearcher.search(AssertingIndexSearcher.java:92) > [junit4] > at > org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:425) > [junit4] > at > org.apache.lucene.bkdtree3d.TestGeo3DPointField$4._run(TestGeo3DPointField.java:587) > [junit4] > at > org.apache.lucene.bkdtree3d.TestGeo3DPointField$4.run(TestGeo3DPointField.java:521) > [junit4] 2> NOTE: test params are: codec=Asserting(Lucene53): {}, > docValues:{}, sim=RandomSimilarityProvider(queryNorm=true,coord=crazy): {}, > locale=de_GR, timezone=America/Managua > [junit4] 2> NOTE: Linux 3.19.0-21-generic amd64/Oracle Corporation > 1.8.0_51 (64-bit)/cpus=72,threads=1,free=426307304,total=504889344 > [junit4] 2> NOTE: All tests run in this JVM: [TestGeo3DPointField] > {noformat} > > I added verbosity and extracted the details: > > Here's the query shape: > > {noformat} > [junit4] 2> Thread[T0,5,TGRP-TestGeo3DPointField]: TEST: iter=64 > shape=GeoCircle: {planetmodel=PlanetModel.WGS84, > center=[lat=-7.573175600018171E-4, lon=-0.001184769535031697], > radius=0.007585721238160122(0.4346298115093282)} > {noformat} > > BKD switched to addAll when this cell was contained inside the shape: > {noformat} > [junit4] 1> Thread[T0,5,TGRP-TestGeo3DPointField]: switch to addAll > at cell x=1.0010740213026637 to 1.0010824106377934 y=-0.007656353133570567 > to -0.007315722331086044 z=-0.0047688666958216885 to -0.0042476080955227875 > {noformat} > > But then this doc (which is within the cell) is supposedly not within the > shape: > > {noformat} > [junit4] 1> T0: accept docID=71226 point: x=1.0010781049211872 > y=-0.007656353133570567 z=-0.0047688666958216885 > [junit4] 1> > [junit4] 1> T0: FAILED: docID=71226 > {noformat} > > > > Integrate lat/long BKD and spatial 3d, part 2 > > --------------------------------------------- > > > > Key: LUCENE-6759 > > URL: https://issues.apache.org/jira/browse/LUCENE-6759 > > Project: Lucene - Core > > Issue Type: New Feature > > Reporter: Michael McCandless > > Attachments: LUCENE-6699.patch, LUCENE-6699.patch, > LUCENE-6699.patch, LUCENE-6699.patch > > > > > > This is just a continuation of LUCENE-6699, which became too big. > > > > -- > This message was sent by Atlassian JIRA > (v6.3.4#6332) > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
