This message was deleted.
# general
s
This message was deleted.
b
Not that I know of, except for querying for a time interval that's not up to the present. What's the reason?
s
the dashboards querying against this datasource were showing data up to the present and therefore showed drop-offs towards the ends of the graphs. I’m sure it could be configured away on the dashboard side, but I was wondering if there was any notion on the druid side of rollups being “published” according to their rollup increments
possibly this hints at really being a batch use-case rather than streaming, not sure… though I could still see this being desirable theoretically even at a 1 second rollup granularity in the use-cases where an “incomplete” rollup has no particular value and is potentially even misleading information?
s
Like Ben said, you could do it by filtering your queries as in:
Copy code
SELECT ...
FROM ...
WHERE ... AND __time < TIME_FLOOR(CURRENT_TIMESTAMP, 'PT1M')
which would only query minutes that have already passed. One issue will still be that event messages could arrive a bit after the minute has passed, so you will likely still get a bit of a jitter on the rollup result while late events still arrive. But it would help reduce the drop off effect. In order to circumvent that even further you could use time shift to make it only return rows that are a full minute past with:
Copy code
WHERE ... AND __time < TIME_SHIFT(TIME_FLOOR(CURRENT_TIMESTAMP, 'PT1M'), 'PT1M', -1)
👍 1
p
Note that Druid can never know when your data is "finally" rolled up. Late-arriving data can come in at any time. You would have to do some analysis to figure out that, say, 95% of the data will have arrived by 3 minutes after the event timestamp, and adjust your dashboards to limit the query range as suggested above. We can never know, however, that four more records won't finally show up 20 minutes from now.
👍 1
s
right, makes sense. thank you 🙏