Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-users] Exception - Upper bound must be greater than lower bound

This may be a bug... what version of GM are you using? The error is happening in our summary data statistics that we track for cost-based query planning. We try to 'bin' geometries into a linear array. You shouldn't have to sort your geometries or anything though, it should be able to accept any valid geometries. We've fixed various bugs in that code already, so if you're not on the latest GM version it's possible the issue is already fixed.

Thanks,

Emilio

On 07/01/2017 02:44 PM, David Boyd wrote:
Sorting the list solved the problem.

Interesting.



On 7/1/17 1:12 PM, David Boyd wrote:
All:

Some more and different information. This time instead of the integer bins being the same they do have different numbers. In this case the upper record (which is my new updated record I assume) has more coordinates than the lower.

Guess I will try sorting the coordinate list see if that changes anything.

2017-07-01 12:59:04,224 | ERROR | [Thread-11] | (Reports_Consumer.java:122) - Error while parsing action 'stat/OneOrMore/ZeroOrMore/Sequence/org$locationtech$geomesa$utils$stats$StatParser$$singleStat/org$locationtech$geomesa$utils$stats$StatParser$$histogram/org$locationtech$geomesa$utils$stats$StatParser$$histogramAction1' at input position (line 1, pos 521): Count();MinMax("Geos");MinMax("recordKey");TopK("recordKey");Histogram("Geos",10000,"MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.72984313964844 35.94012451171875))","MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.57267761230469 35.73548889160156), (-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-116.72984313964844 35.94012451171875))");Histogram("recordKey",1000,"013b4a9e-a5ad-46a8-b58f-17bf5cef8171","e450fccb-cd8a-42fd-9bcb-3c7036defaaa");Frequency("recordKey",20)
^

java.lang.IllegalArgumentException: requirement failed: Upper bound must be greater than lower bound: lower='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.72984313964844 35.94012451171875))'(2564346587991557940) upper='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.57267761230469 35.73548889160156), (-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-116.72984313964844 35.94012451171875))'(2564346541289799415) org.parboiled.errors.ParserRuntimeException: Error while parsing action 'stat/OneOrMore/ZeroOrMore/Sequence/org$locationtech$geomesa$utils$stats$StatParser$$singleStat/org$locationtech$geomesa$utils$stats$StatParser$$histogram/org$locationtech$geomesa$utils$stats$StatParser$$histogramAction1' at input position (line 1, pos 521): Count();MinMax("Geos");MinMax("recordKey");TopK("recordKey");Histogram("Geos",10000,"MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.72984313964844 35.94012451171875))","MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.57267761230469 35.73548889160156), (-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-116.72984313964844 35.94012451171875))");Histogram("recordKey",1000,"013b4a9e-a5ad-46a8-b58f-17bf5cef8171","e450fccb-cd8a-42fd-9bcb-3c7036defaaa");Frequency("recordKey",20)
^

java.lang.IllegalArgumentException: requirement failed: Upper bound must be greater than lower bound: lower='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.72984313964844 35.94012451171875))'(2564346587991557940) upper='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.57267761230469 35.73548889160156), (-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-116.72984313964844 35.94012451171875))'(2564346541289799415)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:366)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.matchers.FirstOfMatcher.match(FirstOfMatcher.java:41) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.matchers.ZeroOrMoreMatcher.match(ZeroOrMoreMatcher.java:39) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.matchers.SequenceMatcher.match(SequenceMatcher.java:46) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
at org.parboiled.parserunners.BasicParseRunner.run(BasicParseRunner.java:72) at org.parboiled.parserunners.ReportingParseRunner.runBasicMatch(ReportingParseRunner.java:86) at org.parboiled.parserunners.ReportingParseRunner.run(ReportingParseRunner.java:66) at org.parboiled.scala.parserunners.ReportingParseRunner.run(ReportingParseRunner.scala:34) at org.locationtech.geomesa.utils.stats.StatParser$.parse(StatParser.scala:36)
    at org.locationtech.geomesa.utils.stats.Stat$.apply(Stat.scala:115)
at org.locationtech.geomesa.accumulo.data.stats.AccumuloGeoMesaStats$$anonfun$statUpdater$1.apply(AccumuloGeoMesaStats.scala:116) at org.locationtech.geomesa.accumulo.data.stats.AccumuloGeoMesaStats$$anonfun$statUpdater$1.apply(AccumuloGeoMesaStats.scala:116) at org.locationtech.geomesa.index.stats.MetadataStatUpdater.<init>(MetadataBackedStats.scala:323) at org.locationtech.geomesa.accumulo.data.stats.AccumuloGeoMesaStats.statUpdater(AccumuloGeoMesaStats.scala:116) at org.locationtech.geomesa.index.geotools.GeoMesaFeatureWriter.<init>(GeoMesaFeatureWriter.scala:112) at org.locationtech.geomesa.accumulo.data.AccumuloModifyFeatureWriter.<init>(AccumuloFeatureWriter.scala:30) at org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createFeatureWriterModify(AccumuloDataStore.scala:87) at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.getFeatureWriter(GeoMesaDataStore.scala:387) at org.locationtech.geomesa.index.geotools.GeoMesaDataStore.getFeatureWriter(GeoMesaDataStore.scala:49) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.updateFeatureIfExists(AccumuloPersistor.java:1621) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.addNewFeatureForRecordSet(AccumuloPersistor.java:1499) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.persistEntitySearchData(AccumuloPersistor.java:1337) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.persistEntityObject(AccumuloPersistor.java:1144) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.flattenObject(AccumuloPersistor.java:1057) at com.incadencecorp.coalesce.framework.persistance.CoalescePersistorBase.saveEntity(CoalescePersistorBase.java:99) at com.incadencecorp.coalesce.framework.CoalesceFramework.saveCoalesceEntity(CoalesceFramework.java:451) at com.incadencecorp.oe.ingest.reports.Reports_Consumer.run(Reports_Consumer.java:83)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: requirement failed: Upper bound must be greater than lower bound: lower='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.72984313964844 35.94012451171875))'(2564346587991557940) upper='MULTIPOINT ((-116.3556900024414 35.40331268310547), (-116.57267761230469 35.73548889160156), (-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-116.72984313964844 35.94012451171875))'(2564346541289799415)
    at scala.Predef$.require(Predef.scala:224)
at org.locationtech.geomesa.utils.stats.WholeNumberBinnedArray.<init>(BinnedArray.scala:134) at org.locationtech.geomesa.utils.stats.BinnedGeometryArray.<init>(BinnedArray.scala:213) at org.locationtech.geomesa.utils.stats.BinnedArray$.apply(BinnedArray.scala:121) at org.locationtech.geomesa.utils.stats.Histogram.<init>(Histogram.scala:36) at org.locationtech.geomesa.utils.stats.StatParser$$anonfun$org$locationtech$geomesa$utils$stats$StatParser$$histogram$1$$anonfun$apply$7.apply(StatParser.scala:113) at org.locationtech.geomesa.utils.stats.StatParser$$anonfun$org$locationtech$geomesa$utils$stats$StatParser$$histogram$1$$anonfun$apply$7.apply(StatParser.scala:107) at org.parboiled.scala.rules.Rule$$anonfun$exec$4.apply(Rule.scala:221) at org.parboiled.scala.rules.Rule$$anonfun$exec$4.apply(Rule.scala:217) at org.parboiled.scala.rules.Rule$$anonfun$push$1.apply(Rule.scala:133) at org.parboiled.scala.rules.Rule$$anonfun$push$1.apply(Rule.scala:132)
    at org.parboiled.scala.rules.Rule$$anon$1.run(Rule.scala:129)
at org.parboiled.matchers.ActionMatcher.match(ActionMatcher.java:96) at org.parboiled.parserunners.BasicParseRunner.match(BasicParseRunner.java:77)
    at org.parboiled.MatcherContext.runMatcher(MatcherContext.java:351)
    ... 42 more
2017-07-01 12:59:04,242 | ERROR | [Thread-11] | (Reports_Consumer.java:134) - After closing consumer


On 7/1/17 12:43 PM, David Boyd wrote:
All:

I am getting this exception when attempting to update a multi-point feature. I am not sure what the error means.

Is it triggered by the (-180,-90) in the list?

Is there a specific order to the multipoint list?

Is this a bug?

2017-07-01 12:14:43,881 | ERROR | [Thread-9] | (Reports_Consumer.java:122) - requirement failed: Upper bound must be greater than lower bound: lower='MULTIPOINT ((-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-180 -90), (-116.72984313964844 35.94012451171875))'(2424506534976367614) upper='MULTIPOINT ((-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-180 -90), (-116.72984313964844 35.94012451171875))'(2424506534976367614) java.lang.IllegalArgumentException: requirement failed: Upper bound must be greater than lower bound: lower='MULTIPOINT ((-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-180 -90), (-116.72984313964844 35.94012451171875))'(2424506534976367614) upper='MULTIPOINT ((-116.2886962890625 35.62590408325195), (-116.29100036621094 35.640228271484375), (-116.55487060546875 35.840415954589844), (-116.4508056640625 35.49846649169922), (-116.43860626220703 35.50336837768555), (-180 -90), (-116.72984313964844 35.94012451171875))'(2424506534976367614)
    at scala.Predef$.require(Predef.scala:224)
at org.locationtech.geomesa.utils.stats.WholeNumberBinnedArray.<init>(BinnedArray.scala:134) at org.locationtech.geomesa.utils.stats.BinnedGeometryArray.<init>(BinnedArray.scala:213) at org.locationtech.geomesa.utils.stats.BinnedArray$.apply(BinnedArray.scala:121) at org.locationtech.geomesa.utils.stats.Histogram$.expandBins(Histogram.scala:208) at org.locationtech.geomesa.utils.stats.Histogram.observe(Histogram.scala:69) at org.locationtech.geomesa.utils.stats.SeqStat$$anonfun$observe$1.apply(SeqStat.scala:22) at org.locationtech.geomesa.utils.stats.SeqStat$$anonfun$observe$1.apply(SeqStat.scala:22)
    at scala.collection.immutable.List.foreach(List.scala:381)
at org.locationtech.geomesa.utils.stats.SeqStat.observe(SeqStat.scala:22) at org.locationtech.geomesa.index.stats.MetadataStatUpdater.add(MetadataBackedStats.scala:325) at org.locationtech.geomesa.index.geotools.GeoMesaFeatureWriter.writeFeature(GeoMesaFeatureWriter.scala:135) at org.locationtech.geomesa.index.geotools.GeoMesaModifyFeatureWriter$class.write(GeoMesaFeatureWriter.scala:236) at org.locationtech.geomesa.accumulo.data.AccumuloModifyFeatureWriter.write(AccumuloFeatureWriter.scala:25) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.updateFeatureIfExists(AccumuloPersistor.java:1717) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.addNewFeatureForRecordSet(AccumuloPersistor.java:1499) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.persistEntitySearchData(AccumuloPersistor.java:1337) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.persistEntityObject(AccumuloPersistor.java:1144) at com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.flattenObject(AccumuloPersistor.java:1057) at com.incadencecorp.coalesce.framework.persistance.CoalescePersistorBase.saveEntity(CoalescePersistorBase.java:99) at com.incadencecorp.coalesce.framework.CoalesceFramework.saveCoalesceEntity(CoalesceFramework.java:451) at com.incadencecorp.oe.ingest.reports.Reports_Consumer.run(Reports_Consumer.java:83)
    at java.lang.Thread.run(Thread.java:745)






Back to the top