Class UsePreviousTimeOnInvalidTimestamp
- java.lang.Object
- 
- org.apache.kafka.streams.processor.UsePreviousTimeOnInvalidTimestamp
 
- 
- All Implemented Interfaces:
- TimestampExtractor
 
 @Deprecated public class UsePreviousTimeOnInvalidTimestamp extends Object Deprecated.since 2.5. UseUsePartitionTimeOnInvalidTimestampinsteadRetrieves embedded metadata timestamps from Kafka messages. If a record has a negative (invalid) timestamp, a new timestamp will be inferred from the current stream-time.Embedded metadata timestamp was introduced in "KIP-32: Add timestamps to Kafka message" for the new 0.10+ Kafka message format. Here, "embedded metadata" refers to the fact that compatible Kafka producer clients automatically and transparently embed such timestamps into message metadata they send to Kafka, which can then be retrieved via this timestamp extractor. If the embedded metadata timestamp represents CreateTime (cf. Kafka broker setting message.timestamp.typeand Kafka topic settinglog.message.timestamp.type), this extractor effectively provides event-time semantics. If LogAppendTime is used as broker/topic setting to define the embedded metadata timestamps, using this extractor effectively provides ingestion-time semantics.If you need processing-time semantics, use WallclockTimestampExtractor.
- 
- 
Constructor SummaryConstructors Constructor Description UsePreviousTimeOnInvalidTimestamp()Deprecated.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longextract(ConsumerRecord<Object,Object> record, long partitionTime)Extracts the embedded metadata timestamp from the givenConsumerRecord.longonInvalidTimestamp(ConsumerRecord<Object,Object> record, long recordTimestamp, long partitionTime)Deprecated.Returns the current stream-time as new timestamp for the record.
 
- 
- 
- 
Method Detail- 
onInvalidTimestamppublic long onInvalidTimestamp(ConsumerRecord<Object,Object> record, long recordTimestamp, long partitionTime) throws StreamsException Deprecated.Returns the current stream-time as new timestamp for the record.- Parameters:
- record- a data record
- recordTimestamp- the timestamp extractor from the record
- partitionTime- the highest extracted valid timestamp of the current record's partition˙ (could be -1 if unknown)
- Returns:
- the provided highest extracted valid timestamp as new timestamp for the record
- Throws:
- StreamsException- if highest extracted valid timestamp is unknown
 
 - 
extractpublic long extract(ConsumerRecord<Object,Object> record, long partitionTime) Extracts the embedded metadata timestamp from the givenConsumerRecord.- Specified by:
- extractin interface- TimestampExtractor
- Parameters:
- record- a data record
- partitionTime- the highest extracted valid timestamp of the current record's partition˙ (could be -1 if unknown)
- Returns:
- the embedded metadata timestamp of the given ConsumerRecord
 
 
- 
 
-