Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-1841

OffsetCommitRequest API - timestamp field is not versioned

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 0.8.2.0
    • 0.8.2.0
    • core
    • None
    • wire-protocol

    Description

      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.

      Attachments

        1. kafka-1841.patch
          14 kB
          Jun Rao
        2. kafka-1841_2015-01-12_14:30:24.patch
          29 kB
          Jun Rao
        3. kafka-1841_2015-01-09_14:36:50.patch
          24 kB
          Jun Rao
        4. kafka-1841_2015-01-08_15:07:57.patch
          25 kB
          Jun Rao

        Issue Links

          Activity

            People

              junrao Jun Rao
              dana.powers Dana Powers
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: