[ https://issues.apache.org/jira/browse/KAFKA-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15154642#comment-15154642 ]
Jun Rao commented on KAFKA-3025: -------------------------------- [~becket_qin], thanks again for the patch. Currently, in Log.append(), we always do a second shallow iteration after validateMessagesAndAssignOffsets() to check the size of the compressed message. An optimization that we can do is that if there is no re-compression, we can skip the second shallow iteration since the size of the compressed message won't change. Could you file a separate jira to track that? It's not super critical since the shallow iteration is cheap. > KIP-31&KIP-32 (part 1): Add timestamp field to message, configs, and > Producer/ConsumerRecord > -------------------------------------------------------------------------------------------- > > Key: KAFKA-3025 > URL: https://issues.apache.org/jira/browse/KAFKA-3025 > Project: Kafka > Issue Type: Sub-task > Reporter: Anna Povzner > Assignee: Jiangjie Qin > Fix For: 0.9.1.0 > > > This JIRA is for changes for KIP-32 excluding broker checking and acting on > timestamp field in a message. > This JIRA includes: > 1. Bump up MessageAndOffset version to version 1 to: > a. Change absolute offset to relative offset. > b. Add time field to the message > Timestamp => int64 > Timestamp is the number of milliseconds since Unix Epoch > 2. Add time field to both ProducerRecord and Consumer Record > If a user specifies the timestamp in a ProducerRecord, the ProducerRecord is > sent with this timestamp. > If a user does not specify the timestamp in a ProducerRecord, the producer > stamps the ProducerRecord with current time. > ConsumerRecord will have the timestamp of the message that were stored on > broker. > 3. Add two new configurations to the broker. Configuration is per topic. > * message.timestamp.type: type of a timestamp. Possible values: CreateTime, > LogAppendTime. Default: CreateTime > * max.message.time.difference.ms: threshold for the acceptable time > difference between Timestamp in the message and local time on the broker. > Default: Long.MaxValue -- This message was sent by Atlassian JIRA (v6.3.4#6332)