Data with epoch time value disappears ~1 hour after creation

I’m currently running a project that stores a set of data using UNIX epoch values; specifically as time.Unix(0, -1) as time.Unix(0, 0) is apparently considered as time.Now(). This was done to make the data easy to search for as it exists at a time value that is well known and ideally won’t conflict with other data.

I’m running into a curious bug with this data. When a bucket is first created, and the unix epoch data is written, the query below will return data:

from (bucket: "bucketNameHere")
 |> range(start: -1, stop: 0)
 |> filter(fn: (r) =>
   r["_measurement"] == "mySetOfData" and
   r["_field"] == "data"
 |> last()

However, this data will be unrecoverable about ~50 minutes or so after the data is first made, and the query fails. Indeed, the data cannot be recovered by any other means at all.

No other data in the bucket is affected - it stays exactly where it is. The retention policy for this bucket is 365 days. This happens across different machines, so it’s not hardware related.

What could be causing this sudden disappearance? Is there a feature of the retention policy that looks for and deletes values near epoch?

Got an answer from the InfluxDB slack:


This happens since data is checked for retention by its ‘stated’ timestamp rather than its upload timestamp.