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]
>
>

Reply via email to