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