> On Nov. 1, 2013, 4:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/controller/KafkaController.scala, lines 383-387
> > <https://reviews.apache.org/r/14865/diff/4/?file=375158#file375158line383>
> >
> >     In moveReassignedPartitionLeaderIfRequired(), we call 
> > partitionStateMachine.handleStateChanges(), which will use the old assigned 
> > replicas. It seems that we need to call 
> > updateAssignedReplicasForPartition() before this step so that we can pick 
> > up the new assigned replicas.

>> In moveReassignedPartitionLeaderIfRequired(), we call 
>> partitionStateMachine.handleStateChanges(), which will use the old assigned 
>> replicas.

It doesn't. See this

    // change the assigned replica list to just the reassigned replicas in the 
cache so it gets sent out on the LeaderAndIsr
    // request to the current or new leader. This will prevent it from adding 
the old replicas to the ISR
    val oldAndNewReplicas = 
controllerContext.partitionReplicaAssignment(topicAndPartition)
    controllerContext.partitionReplicaAssignment.put(topicAndPartition, 
reassignedReplicas)

We do this before the partitionStateMachine.handleStateChanges() call and it 
correctly sends the shrunk assigned replicas.


> On Nov. 1, 2013, 4:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/controller/KafkaController.scala, lines 387-388
> > <https://reviews.apache.org/r/14865/diff/4/?file=375158#file375158line387>
> >
> >     We can use reassignedReplicas for 
> > reassignedPartitionContext.newReplicas.

Though both are same, changed it


> On Nov. 1, 2013, 4:33 p.m., Jun Rao wrote:
> > core/src/main/scala/kafka/controller/KafkaController.scala, lines 631-632
> > <https://reviews.apache.org/r/14865/diff/4/?file=375158#file375158line631>
> >
> >     It probably doesn't hurt to send the leaderAndIsr request to both the 
> > old and the new replicas. However, it seems that we really just need to 
> > send to the new replicas since in the caller onPartitionReassignment(), we 
> > will be stopping the old replicas immediately afterwards.

Agree, but I'm afraid I may be missing some corner cases in which case sending 
more data will be useful compared to sending less data. 


- Neha


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14865/#review28011
-----------------------------------------------------------


On Oct. 31, 2013, 5:37 p.m., Neha Narkhede wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/14865/
> -----------------------------------------------------------
> 
> (Updated Oct. 31, 2013, 5:37 p.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1097
>     https://issues.apache.org/jira/browse/KAFKA-1097
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> Addressed Guozhang's comment to reduce the data logged to state change log
> 
> 
> Addressed Jun and Guozhang's review comments
> 
> 
> Rebased after KAFKA-1001 was checked in
> 
> 
> Make a reusable updateLeaderEpoch API
> 
> 
> 1. Reverted changes to test log4j.properties and AdminTest 2. Fixed a bug in 
> moving leader logic during partition reassignment:
> 
> 
> 1. Changed partition reassignment behavior to first expand the replication 
> factor and then shrink it. 2. Fixed the reassign partition tool to check for 
> error conditions and improve logging 3. Did a minor improvement to the patch 
> review tool 4. Changed the version to 0.8.1 since it should be that on trunk
> 
> 
> Revert "kafka-1097, unit tests broken due to kafka-1098"
> 
> This reverts commit 0da98f7e3b5512bdc876438704c6a895e997daee.
> 
> kafka-1097, unit tests broken due to kafka-1098
> 
> 
> Diffs
> -----
> 
>   core/src/main/scala/kafka/admin/ReassignPartitionsCommand.scala 
> 2f706c94d340f1cd715210b3d8b00597d65b5dd0 
>   core/src/main/scala/kafka/cluster/Partition.scala 
> d8078bd4e73a8a80be436396765ead4c62d334bd 
>   core/src/main/scala/kafka/common/NotAssignedReplicaException.scala 
> PRE-CREATION 
>   core/src/main/scala/kafka/controller/KafkaController.scala 
> 88d130f55997b72a8590e4cfe92857a7320e70d5 
>   core/src/main/scala/kafka/controller/ReplicaStateMachine.scala 
> 212c05d65dcdc147e55f90875bacc940e30342bf 
>   core/src/main/scala/kafka/server/ReplicaManager.scala 
> 7b8f89edecec446664fb4abe64f5dfafb9aa3120 
>   kafka-patch-review.py daf2c3597a81d0d6db574a488f3cf372701fd113 
>   project/Build.scala bcd1ca546b3f081d669892677276a0f19fb1236e 
> 
> Diff: https://reviews.apache.org/r/14865/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Neha Narkhede
> 
>

Reply via email to