I'm reading from Kafka using Apache Beam. I want to use the event timestamp from the payload instead of the default LogAppendTime due to out of order writes to Kafka.
I have seen a solution in Apache Beam: Error assigning event time using Withtimestamp
How do we define the watermark? Considering it should be monotonic.
In the method
getWatermark(TimestampPolicy.PartitionContext ctx)
How do we determine the watermark when there is an event which is hours late.
This seems to be a very common scenario of out of order writes and event time windowing. I did not see much literature on how this.