Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Add a new timestamp field to the message format.
  2. Use the forth fourth least significant bit to indicate the timestamp type. (0 for CreateTime, 1 for LogAppendTime)
  3. Add the following two configurations to the broker
    1. message.timestamp.type - This topic level configuration defines the type of timestamp in the messages of a topic. The valid values are CreateTime or LogAppendTime.
    2. max.message.time.difference.ms - This configuration only works when message.timestamp.type=CreateTime. The broker will only accept messages whose timestamp differs no more than max.message.time.difference.ms from the broker local time.
  4. Add a timestamp field to ProducerRecord and ConsumerRecord. A producer will be able to set a timestamp for a ProducerRecord. A consumer will see the message timestamp when it sees the messages.
  5. Add ProduceRequest/ProduceResponse V2 which uses the new message format.
  6. Add a timestamp in ProduceResponse V2 for each partition. The timestamp will either be LogAppendTime if the topic is configured to use it or it will be NoTimestamp if create time is used.
  7. Add FetchRequest/FetchResponse V2 which uses the new message format.
  8. Add a timestamp variable to RecordMetadata. The timestamp is the timestamp of messages appended to partition log.

...