You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Continuous queries compute each window exactly once over [last_processed_time, now) and then advance the watermark past it, with no lookback/grace window. Data that arrives after its window has already been processed (late ticks, corrections, backfills, out-of-order events) is silently dropped from that window's aggregate. There is no way to recover it short of manually re-running.
This is acceptable for clean, in-order infra metrics, but it is a blocker for financial roll-ups (OHLC bars, VWAP, PnL/position aggregates) where late corrections and out-of-order events are normal and materially change results. Raised by a prospect evaluating Arc for financial data.
No lookback/grace: startTime is exactly the prior end (:468/:586 only set a default on first run).
Watermark advances to endTime after each run (:504), so earlier windows are never revisited.
Proposed feature
Configurable lookback / grace window per CQ: each run reprocesses the last N intervals (or a duration) so recent late data is folded in. Example knob: reprocess_window / late_data_grace.
(Optional, later) Event-time boundary instead of wall-clock now() — see separate event-time issue.
Acceptance criteria
A CQ with a lookback of K intervals, given a row that lands one interval late, produces an aggregate for the correct window on the next run (not dropped).
Summary
Continuous queries compute each window exactly once over
[last_processed_time, now)and then advance the watermark past it, with no lookback/grace window. Data that arrives after its window has already been processed (late ticks, corrections, backfills, out-of-order events) is silently dropped from that window's aggregate. There is no way to recover it short of manually re-running.This is acceptable for clean, in-order infra metrics, but it is a blocker for financial roll-ups (OHLC bars, VWAP, PnL/position aggregates) where late corrections and out-of-order events are normal and materially change results. Raised by a prospect evaluating Arc for financial data.
Current behavior (code)
internal/api/continuous_query.go:464-470— window start = previouslast_processed_time; end =time.Now()(wall-clock).startTimeis exactly the prior end (:468/:586only set a default on first run).endTimeafter each run (:504), so earlier windows are never revisited.Proposed feature
reprocess_window/late_data_grace.now()— see separate event-time issue.Acceptance criteria
Notes