[ https://issues.apache.org/jira/browse/KAFKA-1927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14312263#comment-14312263 ]
Gwen Shapira commented on KAFKA-1927: ------------------------------------- I'm not sure I'd take it as my first patch (in fact, I find the scope here a bit intimidating). But if you are feeling brave, I'll be happy to help out :) If you look at core/src/main/scala/kafka/api you'll see gazillion request/response objects? Many (but not all) of those are documented in: https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol Those are all duplicated in: /Users/gshapira/workspace/kafka/clients/src/main/java/org/apache/kafka/common/protocol/Protocol.java The old request/responses are used all over "core" module. The goal here is to remove them and use the ones in o.a.k.common.protocol in "core" module. The API themselves should not change, unittests and system tests should pass - as well as upgrade tests (i.e. old client with new brokers and old and new broker mix) > Replace requests in kafka.api with requests in > org.apache.kafka.common.requests > ------------------------------------------------------------------------------- > > Key: KAFKA-1927 > URL: https://issues.apache.org/jira/browse/KAFKA-1927 > Project: Kafka > Issue Type: Improvement > Reporter: Jay Kreps > > The common package introduced a better way of defining requests using a new > protocol definition DSL and also includes wrapper objects for these. > We should switch KafkaApis over to use these request definitions and consider > the scala classes deprecated (we probably need to retain some of them for a > while for the scala clients). > This will be a big improvement because > 1. We will have each request now defined in only one place (Protocol.java) > 2. We will have built-in support for multi-version requests > 3. We will have much better error messages (no more cryptic underflow errors) -- This message was sent by Atlassian JIRA (v6.3.4#6332)