[ 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)