Hi,
We just installed the latest GeoMesa (actually it was from yesterday). I am happy to report that I have noticed that several bugs have been fixed since the mid-June version; however, I have noticed a new bug related to temporal querying.
I am indexing the temporal component of my data using a Date object, and I am querying using CQL analogous to the following:
((myTime BEFORE 2014-07-30T19:29:07.917Z) AND (myTime AFTER 2014-07-30T19:29:07.519Z))
It appears to me that the temporal bounds of my above CQL query are truncated to the second before the query is performed. I have verified that the actual Date data in GeoMesa is not truncated or modified.
For example, the following scenario fails to return any query results (even though logically it should):
Indexed time: 2014-07-30T19:29:07.520Z
CQL query string: ((myTime BEFORE 2014-07-30T19:29:07.917Z) AND (myTime AFTER 2014-07-30T19:29:07.519Z))
My guess at the effective query string based upon observation: ((myTime BEFORE 2014-07-30T19:29:07) AND (myTime AFTER 2014-07-30T19:29:07))
But the following scenario does return results as expected:
Indexed time: 2014-07-30T19:34:40.746Z
CQL query string: ((myTime BEFORE 2014-07-30T19:34:41.143Z) AND (myTime AFTER 2014-07-30T19:34:40.745Z))
My guess at the effective query string based upon observation: ((myTime BEFORE 2014-07-30T19:34:41) AND (myTime AFTER 2014-07-30T19:34:40))
I know that most people are probably not querying on a per-millisecond basis, but my code does. Is this a GeoMesa bug? Or do I need to modify my code to reflect that querying can only be performed at a resolution of one second?
Thanks in advance,
Beau