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

zkclient jar 0.2.0 is not compatible with 0.1.0

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 0.8.0
    • 0.8.0
    • None
    • None

    Description

      Just realized that zkclient 0.2.0 introduced a non-backward compatible api. In 0.1.0, it has
      public void writeData(java.lang.String path, java.lang.Object datat)
      public void writeData(java.lang.String path, java.lang.Object datat, int expectedVersion)

      In 0.2.0, they are changed to

      public Stat writeData(java.lang.String path, java.lang.Object datat)
      public Stat writeData(java.lang.String path, java.lang.Object datat, int expectedVersion)

      This means that If an application uses Kafka and also drags in another library (X) that depends on zkclient 0.1.0 (and uses "void writeData())", then when they upgrade to Kafka 0.8 consumer (which uses zkclient 0.2.0), their application can't just upgrade to zkclient 0.2.0 since library X's call to "void writeData()" will fail because of the signature change. Since zkclient 0.1.0 is widely used, this issue may affect many applications.

      This non-backward compatible change was introduced by me since I didn't realize it's a signature change then. I am trying to see if zkclient can release a new version that's compatible. If that can't be done in time, we will have to downgrade zkclient to 0.1.0 and add the needed ZK functionality inside Kafka. This is not ideal, but can solve the issue quicker.

      Attachments

        1. kafka_920_zkclient_0.3.patch
          3 kB
          Jun Rao
        2. kafka-920-downgrade-zkclient_v2.patch
          23 kB
          Jun Rao
        3. kafka-920-downgrade-zkclient.patch
          23 kB
          Jun Rao

        Activity

          People

            junrao Jun Rao
            junrao Jun Rao
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: