...
FailOnInvalidTimestamp
(new default extractor, replacingConsumerRecordTimestampExtractor
; behavior stays the same)LogAndSkipOnInvalidTimestamp
UsePartitionTimeOnInvalidTimestamp
UsePreviousTimeOnInvalidTimestamp
Proposed Changes
We want to change Streams to an auto-drop behavior for records with negative timestamps (without any further user notification about any dropped records) to enable users to "step over" those records and keep the app running (instead of running into a runtime exception, which would typically bring down the whole application instance). To guard the user from silently dropping messages by default (and to keep the current fail-fast behavior), we change the default extractor ConsumerRecordTimestampExtractor
to raise an exception if the embedded 0.10 message timestamp is negative, which includes the case where there is no 0.10 timestamp embedded in the message.
...