Hi, Gwen, I was thinking that we will be doing the following in KAFKA-1927.
1. Get the bytes from network. 2. Use a new generic approach to convert bytes into request objects. 2.1 Read the fixed request header (using the util in client). 2.2 Based on the request id in the header, deserialize the rest of the bytes into a request specific object (using the new java objects). 3. We will then be passing a header and an AbstractRequestResponse to KafkaApis. In order to do that, we will need to create similar request/response objects for internal requests such as StopReplica, LeaderAndIsr, UpdateMetadata, ControlledShutdown. Not sure whether they should be written in java or scala, but perhaps they should be only in the core project. Also note, there are some scala requests/responses used directly in SimpleConsumer. Since that's our public api, we can't remove those scala objects until the old consumer is phased out. We can remove the rest of the scala request objects. Thanks, Jun On Tue, Mar 17, 2015 at 6:08 PM, Gwen Shapira <gshap...@cloudera.com> wrote: > Hi, > > I'm starting this thread for the various questions I run into while > refactoring the server to use client requests and responses. > > Help is appreciated :) > > First question: LEADER_AND_ISR request and STOP_REPLICA request are > unimplemented in the client. > > Do we want to implement them as part of this refactoring? > Or should we continue using the scala implementation for those? > > Gwen >