Hi, Tom, One approach is to have a PartitionReassignmentRequest that only deals with inter broker data movement (i.e, w/o any log dirs in the request). The request is directed to any broker, which then just writes the reassignment json to ZK. There is a separate AlterReplicaDirRequest that only deals with intra broker data movement (i.e., with the log dirs in the request). This request is directed to the specific broker who replicas need to moved btw log dirs. This seems to be what's in your original proposal in KIP-179, which I think makes sense.
In your early email, I thought you were proposing to have PartitionReassignmentRequest dealing with both inter and intra broker data movement (i.e., include log dirs in the request). Then, I am not sure how this request will be processed on the broker. So, you were not proposing that? Thanks, Jun On Fri, Aug 11, 2017 at 5:37 AM, Tom Bentley <t.j.bent...@gmail.com> wrote: > Hi Jun and Dong, > > Thanks for your replies... > > On 10 August 2017 at 20:43, Dong Lin <lindon...@gmail.com> wrote: > > > This is a very good idea. I have updated the KIP-113 so that > > DescribeDirResponse returns lag instead of LEO. > > > Excellent! > > On Thu, Aug 10, 2017 at 10:21 AM, Jun Rao <j...@confluent.io> wrote: > > > > > 2. Tom, note that currently, the LeaderAndIsrRequest doesn't specify > the > > > log dir. So, I am not sure in your new proposal, how the log dir info > is > > > communicated to all brokers. Is the broker receiving the > > > ReassignPartitionsRequest > > > going to forward that to all brokers? > > > > My understanding of KIP-113 is that each broker has its own set of log dirs > (even though in practice they might all have the same names, and might all > be distributed across the brokers disks in the same way, and all those > disks might be identical), so it doesn't make sense for one broker to be > told about the log dirs of another broker. > > Furthermore, it is the AlterReplicaDirRequest that is sent to the receiving > broker which associates the partition with the log dir on that broker. To > quote from KIP-113 (specifically, the notes in this section > <https://cwiki.apache.org/confluence/display/KAFKA/KIP-113% > 3A+Support+replicas+movement+between+log+directories#KIP- > 113:Supportreplicasmovementbetweenlogdirectories-1%29Howtomo > vereplicabetweenlogdirectoriesonthesamebroker> > ): > > - If broker doesn't not have already replica created for the specified > > topicParition when it receives AlterReplicaDirRequest, it will reply > > ReplicaNotAvailableException AND remember (replica, destination log > > directory) pair in memory to create the replica in the specified log > > directory when it receives LeaderAndIsrRequest later. > > > > I've not proposed anything to change that, really. All I've done is change > who creates the znode which causes the LeaderAndIsrRequest. Because KIP-113 > has been accepted, I've tried to avoid attempting to change it too much. > > Cheers, > > Tom >