Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [geomesa-users] java.lang.IllegalArgumentException: Cannot meaningfully index a feature with a NULL geometry

Yeah, I believe we try to ensure that either the entire feature is written, or none of it - so if it has an invalid geometry it wouldn't be attribute indexed either. As far as a default geometry that wouldn't show up in any queries, I don't know of anything like that...

I looked back at how this was handled in 1.2.7, and I think that it should have been pretty much the same. The exception you're getting is actually not from the indexing itself, but from generating a feature ID, which changed in 1.3.x. I'm curious if maybe the features haven't been getting indexed all along, but were just failing silently or being caught and logged.

To get past your current exception, you could try setting the feature ID yourself (along with the USE_PROVIDED_FID hint), or changing the feature ID generator as outlined here:

http://www.geomesa.org/documentation/user/datastores/runtime_config.html#geomesa-feature-id-generator

The default uses a Z index to try to group features close to each other in the records table, but you could instead use our other default implementation which is based on ingest time:

org.locationtech.geomesa.utils.uuid.IngestTimeFeatureIdGenerator

Thanks,

Emilio

On 03/13/2017 10:46 AM, David Boyd wrote:
Emilio:

   Thanks.

Yes, we are using attribute indexes for non-spatial search.

If I do, the try/catch approach, I assume my non-spatial data will still not be stored correct?

On putting in a place holder the question would be what value to put. I think this particular condition is happening because some records do not have location information. Is there a standard value for a Null or empty point geometry (that will either never match or always match a spatial query)? If this were an area style geometry, one could do the whole globe to always match, what could be done to never match?



On 3/13/17 9:29 AM, Emilio Lahr-Vivaz wrote:
Hi David,

We did change our indexing to explicitly reject features that can't be indexed appropriately. Are you using attribute indices to search for non-spatial records?

We don't currently have a setting to not fail on invalid data - generally you would wrap each call to `featureWriter.write()` in a try/catch and handle the exceptions. Could you put in a placeholder geometry?

I'll add a ticket to allow for this behavior again.

Thanks,

Emilio

On 03/10/2017 10:38 PM, David Boyd wrote:
All:

  Sorry for the dumb questions.

Is this error new behavior in 1.3.X?

We were not getting this (to our knowledge) in 1.2.7.X.

java.lang.IllegalArgumentException: Cannot meaningfully index a feature with a NULL geometry
Since I am using geomesa to support search of all my data in accumulo, I need to be able to store records
that have empty geospatial fields.

Is there some setting that needs tweaked?



_______________________________________________
geomesa-users mailing list
geomesa-users@xxxxxxxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.locationtech.org/mailman/listinfo/geomesa-users




Back to the top