Week 2 of Stream Processing: the hard parts — event time vs processing time, watermarks, and state that survives failure.