[ 
https://issues.apache.org/jira/browse/KAFKA-4907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15927392#comment-15927392
 ] 

Jiangjie Qin commented on KAFKA-4907:
-------------------------------------

[~junrao] Thanks for the explanation. Yes, that does sound an issue. But it 
also doesn't seem ideal to simply accept any timestamp for a log compacted 
topic. It looks there are two scenarios:
1. Users are mirroring a log compacted topic to a new cluster. In this case the 
broker should just accept any timestamp.
2. Users are producing real time messages into a log compacted topic. In this 
case the broker should reject a timestamp that is out of the 
message.timestamp.difference.max.ms.

I am not sure what is the best way to address both cases. Because the broker 
cannot distinguish between the two scenarios, it seems that manual 
configuration is necessary. i.e. in case 1 the users will have to manually 
change the message.timestamp.difference.max.ms to Long.MAX_VALUE and delete the 
configuration after the mirror has caught up. 

There might be a way for the broker to automatically change the configuration 
by guessing what the user is doing. For example, let the broker accept any 
timestamp until the broker sees a timestamp that falls into the acceptable 
range (assuming it has caught up). But this seems not intuitive and is not 
guaranteed to work given the timestamp can actually be out of order.



> compacted topic shouldn't reject messages with old timestamp
> ------------------------------------------------------------
>
>                 Key: KAFKA-4907
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4907
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.10.1.0
>            Reporter: Jun Rao
>
> In LogValidator.validateTimestamp(), we check the validity of the timestamp 
> in the message without checking whether the topic is compacted or not. This 
> can cause messages to a compacted topic to be rejected when it shouldn't.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to