[
https://issues.apache.org/jira/browse/KAFKA-920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jun Rao updated KAFKA-920:
--------------------------
Attachment: kafka-920-downgrade-zkclient.patch
Attach a patch that downgrades zkclient to 0.1.0. The idea is to create a
kafka.zookeeper.ZkClient that wraps zkclient and exposes the needed new api.
All other changes are package renaming. Unit tests pass.
> zkclient jar 0.2.0 is not compatible with 0.1.0
> -----------------------------------------------
>
> Key: KAFKA-920
> URL: https://issues.apache.org/jira/browse/KAFKA-920
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8
> Reporter: Jun Rao
> Priority: Blocker
> Attachments: kafka-920-downgrade-zkclient.patch
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira