Table of Contents |
---|
Status
Current state: "Under Discussion"Accepted
Discussion thread: here
JIRA: KAFKA-8953
...
Given the latest improvements with regard to time tracking, it seems appropriate to rename this class to `UsePartitionTimeOnInvalidTimestamp`, as we now have fixed definition of partition time, and also passed partition time in extract method of class ExtractRecordMetadataTimestamp.
Public Interfaces
UsePreviousTimeOnInvalidTimeStamp will be deprecated if class name is changed.
...
Code Block | ||
---|---|---|
| ||
public long onInvalidTimestamp(final ConsumerRecord<Object, Object> record, final long recordTimestamp, final long partitionTime) throws StreamsException { ... } |
Proposed Changes
Change 'UsePartitionTimeOnInvalidTimeStampUsePreviousTimeOnInvalidTimeStamp' to 'UsePartitionTimeOnInvalidTimestamp'
...
Code Block | ||
---|---|---|
| ||
public class UsePartitionTimeOnInvalidTimestamp extends ExtractRecordMetadataTimestamp { ... } |
...
Also, there will be additional minor changes to be made if community agrees on the mentioned proposal which are listed below:
- UsePreviousTimeOnInvalidTimestampTest
- javadoc changes in ExtractRecordMetaDataTimeStamp.java, FailOnInvalidTimeStamp.java, LogAndSkipOnInvalidTimeStamp.java, WallClockTimeStampExtractor.java
Compatibility, Deprecation, and Migration Plan
UsePreviousTimeOnInvalidTimestamp won't be present instead 'UsePartitionOnInvalidTimeStamp' will be there in next major version without change in the functionality but it's clear from the name that this will be used for partition time . But we might but UsePreviousTimeOnInvalidTimeStamp will need to deprecate UsePreviousTimeOnInvalidTimeStamp first and then introduce new onebe deprecated first.
Rejected Alternatives
None.