-
Notifications
You must be signed in to change notification settings - Fork 51
Description
Hi
PromQL conformance tests with negative offset fail because of latency issues.
Latencies might be different in storage for native prom and vendor's storage (Due to persistence, Georedundant, etc). Negative offset queries try to fetch data for the future timestamp and the availability of data makes a difference in results of the queries. By this, here the compliance tool is not testing the correctness of the queries but testing the latency of the storages.
Suppose a query with negative offset -5m made at 10:32:00:000.
According to compliance tool, timestamps for queries are:
end_time: time.Now() - 2 min => 10:32:00:000 - 2 mins => 10:30:00:00
start_time: end_time - 10m => 10:30:00:00- 10 mins => 10:20:00:00
Query needs values till 10:35:00 (Because of -5m from end time)
At 10:32:00:000, Due to latency, value may not be available for timestamp 10:31:55:000 in vendor storage whereas it may be available for native prom (This can happen vice-versa as well).
Here the value returned by native prom will be 101 whereas vendor implementation returns 100 (Previous available value).
I think we can overcome this by providing "query_time_parameters": end_time value as a time stamp that is less than 10 mins of current timestamp.
But just like to know other thoughts on this issue and how to overcome it?
