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

Joe Stein commented on KAFKA-1841:
----------------------------------

In addition to the issue you bring up, the functionality as a whole has 
changed.. when you call OffsetFetchRequest the version = 0 needs to preserve 
the old functionality 
https://github.com/apache/kafka/blob/0.8.1/core/src/main/scala/kafka/server/KafkaApis.scala#L678-L700
 and version = 1 the new 
https://github.com/apache/kafka/blob/0.8.2/core/src/main/scala/kafka/server/KafkaApis.scala#L153-L223.
 Also the OffsetFetchRequest functionality even though the wire protocol is the 
same after the 0.8.2 upgrade for OffsetFetchRequest if you were using 0.8.1.1 
OffsetFetchRequest 
https://github.com/apache/kafka/blob/0.8.1/core/src/main/scala/kafka/server/KafkaApis.scala#L705-L728
 will stop going to zookeeper and start going to Kafka storage 
https://github.com/apache/kafka/blob/0.8.2/core/src/main/scala/kafka/server/KafkaApis.scala#L504-L519
 so more errors will happen and things break too.  

> OffsetCommitRequest API - timestamp field is not versioned
> ----------------------------------------------------------
>
>                 Key: KAFKA-1841
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1841
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.8.2
>         Environment: wire-protocol
>            Reporter: Dana Powers
>            Priority: Blocker
>             Fix For: 0.8.2
>
>
> Timestamp field was added to the OffsetCommitRequest wire protocol api for 
> 0.8.2 by KAFKA-1012 .  The 0.8.1.1 server does not support the timestamp 
> field, so I think the api version of OffsetCommitRequest should be 
> incremented and checked by the 0.8.2 kafka server before attempting to read a 
> timestamp from the network buffer in OffsetCommitRequest.readFrom 
> (core/src/main/scala/kafka/api/OffsetCommitRequest.scala)
> It looks like a subsequent patch (KAFKA-1462) added another api change to 
> support a new constructor w/ params generationId and consumerId, calling that 
> version 1, and a pending patch (KAFKA-1634) adds retentionMs as another 
> field, while possibly removing timestamp altogether, calling this version 2.  
> So the fix here is not straightforward enough for me to submit a patch.
> This could possibly be merged into KAFKA-1634, but opening as a separate 
> Issue because I believe the lack of versioning in the current trunk should 
> block 0.8.2 release.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to