An Azure real-time analytics service designed for mission-critical workloads.
AFAIK, the watermark in Azure Stream Analytics is monotonic per input partition or substream, meaning it can only stay the same or move forward in time, but it cannot move backward. This is because both the max(event time seen so far) and the estimated arrival time are non-decreasing:
- max(event time seen so far): This value can only stay the same or increase as new events arrive with later event times. It cannot decrease.
- estimated arrival time: This value is calculated based on the last event's arrival time plus the elapsed wall-clock time since the event was processed. As time progresses, this value will only increase, as it is based on a non-decreasing wall-clock time.
Since the watermark is derived from these non-decreasing quantities, after applying the out-of-order and late arrival tolerance windows, the watermark itself will either stay the same or increase but will never decrease.
In your example, with the out-of-order tolerance and late arrival tolerance windows, the watermark will not go from 09:58 to 09:56. Instead, once the watermark reaches 09:58, it will either remain at 09:58 or move forward, but it will not move backward to 09:56.
If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.
hth
Marcin