Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-1927

Replace requests in kafka.api with requests in org.apache.kafka.common.requests

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      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)

        Attachments

        1. KAFKA-1927.patch
          20 kB
          Gwen Shapira

          Issue Links

          1.
          Add ControlledShutdown to org.apache.kafka.common.requests Sub-task Resolved Ismael Juma
          2.
          Add LeaderAndISR request/response to org.apache.kafka.common.requests Sub-task Resolved Ismael Juma
          3.
          Add UpdateMetadata request/response to o.a.k.common.requests Sub-task Resolved Ismael Juma
          4.
          Add versionId to AbstractRequest.getErrorResponse and AbstractRequest.getRequest Sub-task Resolved Andrii Biletskyi
          5.
          Replace ConsumerMetadataRequest and Response with org.apache.kafka.common.requests objects Sub-task Resolved Grant Henke
          6.
          Replace OffsetRequest/response with ListOffsetRequest/response from org.apache.kafka.common.requests Sub-task Resolved Grant Henke
          7.
          Replace LeaderAndIsr{Request,Response} with org.apache.kafka.common.network.requests equivalent Sub-task Resolved Grant Henke
          8.
          Add StopReplica request/response to o.a.k.common.requests and replace the usage in core module Sub-task Resolved David Jacot
          9.
          Replace Produce Request/Response with their org.apache.kafka.common.requests equivalents Sub-task Resolved David Jacot
          10.
          Replace UpdateMetadata{Request,Response} with org.apache.kafka.common.requests equivalent Sub-task Resolved Grant Henke
          11.
          Replace OffsetFetch request/response with their org.apache.kafka.common.requests equivalent Sub-task Resolved Grant Henke
          12.
          Replace OffsetCommit Request/Response with org.apache.kafka.common.requests equivalent Sub-task Resolved Grant Henke
          13.
          Replace TopicMetadata request/response with o.a.k.requests.metadata Sub-task Resolved Jason Gustafson
          14.
          Replace FetchRequest / FetchResponse with their org.apache.kafka.common.requests equivalents Sub-task Resolved Jason Gustafson
          15.
          Replace ControlledShutdown{Request,Response} with org.apache.kafka.common.requests equivalent Sub-task Resolved Jason Gustafson
          16.
          Remove temporary mapping to deserialize functions in RequestChannel Sub-task Resolved Jason Gustafson
          17.
          Refactor MetadataCache to be optimal for o.a.k.c requests Sub-task Resolved Grant Henke
          18.
          Refactor ReplicaManager to be optimal for o.a.k.c requests Sub-task Resolved Grant Henke
          19.
          Refactor KafkaApis to be optimal for o.a.k.c requests Sub-task Open Grant Henke
          20.
          Replace server internal usage of TopicAndPartition with TopicPartition Sub-task Resolved Jakub Nowak
          21.
          Mark the old Scala producer and related classes as deprecated Sub-task Resolved Ismael Juma
          22.
          Mark the old Scala consumer and related classes as deprecated Sub-task Resolved Vahid Hashemian
          23.
          Validate that all kafka.api requests has been removed and clean up compatibility code Sub-task Resolved Unassigned

            Activity

              People

              • Assignee:
                gwenshap Gwen Shapira
                Reporter:
                jkreps Jay Kreps
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: