Data engineering·Time and correctness in streams
the job is holding four hundred gigabytes of per-user counters, and 'just restart it' stopped being free some time ago.
Stateful stream processing
Also calledstateful operator, streaming state
Streaming work whose output depends on records the job has already seen — aggregations, joins, deduplication, sessionisation. Once the job holds state, it stops being a stateless transformer you can kill freely and becomes a database with a very unusual query interface. Everything difficult in streaming operations follows from this: restarts need checkpoints, scaling needs state redistribution, and code changes need the old state to still be readable.