> 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 > >