Jun Rao created KAFKA-920:
-----------------------------
Summary: 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
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