-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature request] change default time boundaries #4461
Comments
Some more context, we only store timestamps as the nanoseconds in
and the latest (maximum) time is
|
The main reason we have We could probably do something where we check whether it's an aggregate query or not and only bound by now if it is. |
related to #5089 |
I don't think we're going to do this so I'm closing this issue. |
@jsternberg I agree we aren't doing this for 1.0, but are we making a conscious choice that we will never do this? It definitely still leads to some confusion for users, so I'd love to have an actual discussion of the tradeoffs. |
I can add this to |
I do think it's worth making a considered choice on it, rather than the evolved default we have now. Thanks, Jonathan. |
@jwilder what was our final conclusion on implementing this? If we set the default maximum time to |
@jsternberg The default maximum time should be as far into the future as is necessary to return all matching points in the system. The general consensus was that the end of the relevant shard groups for the query would be the appropriate maximum default time. |
@e-dard but what should the end time for the fill iterator be? If you have the query:
This query will return points for each 1 minute interval for potentially 7 days with the default shard duration. |
@jsternberg I see. So if we make this change it's going to change the behaviour of that query. Is there a way to only fill only while there are points that would contribute to the aggregate value? That is to say, as soon as there are no more points to aggregate we stop emitting values? |
Yes. There is. I can try doing that. Might be more difficult, but I can try and get fill to not fill in any values that are from an implicit time and only ones that are an explicit time. |
I ran into an issue where I'm not sure what the answer should be. So if you don't specify an end time, we're supposed to implicitly not fill in ending values. But what happens when we have something like this? (assume that all times are in seconds, not nanoseconds)
Should the first one return a row for 20? |
Never mind. We're just going to do what Daniel said and make the end time |
To address #2703, #3369, #3789, and to clear up confusion about https://influxdb.com/docs/v0.9/troubleshooting/frequently_encountered_issues.html#querying-after-now, it would make sense to change the default lower bound from
epoch 0
to the smallest timestamp and the default upper bound fromnow()
to the largest possible timestamp.I believe the smallest is -9023372036854775808, although #3367 means that's not valid right now. The largest timestamp is 9023372036854775807. These were derived from testing, not from parsing code.
The text was updated successfully, but these errors were encountered: