[ 
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)

Reply via email to