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

Ewen Cheslack-Postava commented on KAFKA-3273:
----------------------------------------------

To clarify my thoughts, I don't think these interfaces are deal breakers wrt 
compatibility, but it is inconvenient to change them if you have custom 
formatters (which folks using different serialization formats might) or if you 
want to use a single class across multiple Kafka versions for compatibility 
tests. The latter becomes more annoying if the relevant formatter wasn't 
already available in the original version. It can be worked around, but is 
inconvenient.

If we're going to break compatibility, changing to an interface with the 
Consumer or ProducerRecord is definitely a better choice than just continuing 
to add parameters.

> MessageFormatter and MessageReader interfaces should be resilient to changes
> ----------------------------------------------------------------------------
>
>                 Key: KAFKA-3273
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3273
>             Project: Kafka
>          Issue Type: Improvement
>          Components: tools
>            Reporter: Ismael Juma
>            Assignee: Ismael Juma
>             Fix For: 0.9.1.0
>
>
> They should use `ConsumerRecord` and `ProducerRecord` as parameters and 
> return types respectively in order to avoid breaking users each time a new 
> parameter is added.
> An additional question is whether we need to maintain compatibility with 
> previous releases. [~junrao] suggested that we do not, but [~ewencp] thought 
> we should.
> Note that the KIP-31/32 change has broken compatibility for 
> `MessageFormatter` so we need to do _something_ for the next release.



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

Reply via email to