Core concept
stream.withWatermark("eventTime", "1 hour")
.dropDuplicates("eventId", "eventTime")Advertisement
How it works
State grows without watermark cleanup.
Advertisement
Trade-offs + gotchas
Idempotent processing. Kafka duplicate handling.