Watermark Timeline: Windows Close While Partitions Idle and Laggards Land
event time runs left to right; the watermark is a threshold, never a promise
partition 0
partition 1
searches q1 q2 q3, clicks c1 c2; c2 first
idle after t=20: parked by timeout, watermark excludes partition 1
watermark = 60
window [0,60) closes
laggard at t=50: CORRECT
older laggard at t=10: DROP
0
20
40
60
80
100
120
event-time minutes; window [0,60) closes when the watermark passes 60
How to read this timeline
Partition 1 goes quiet after t=20. After the idle timeout it is parked: the watermark advances on partition 0 alone,
so windows keep closing instead of waiting forever. Parking is metered and alerted, never silent.
A laggard inside allowed lateness revises the metric: retract v1, publish v2, count one correction. A laggard beyond
the horizon is dropped and counted in late_dropped_total; when that share grows, the lateness budget was wrong.
Replay after a restart re-reads by event time, so the rebuilt windows are identical: determinism is free.