Mayuresh Gharat created KAFKA-3126:
--------------------------------------

             Summary: Weird behavior in kafkaController on Controlled 
shutdowns. The leaderAndIsr in zookeeper is not updated during controlled 
shutdown.
                 Key: KAFKA-3126
                 URL: https://issues.apache.org/jira/browse/KAFKA-3126
             Project: Kafka
          Issue Type: Bug
          Components: core
            Reporter: Mayuresh Gharat

Consider Broker B is controller, broker A is undergoing shutdown. 

2016/01/14 19:49:22.884 [KafkaController] [Controller B]: Shutting down broker A

2016/01/14 19:49:22.918 [ReplicaStateMachine] [Replica state machine on 
controller B]: Invoking state change to OfflineReplica for replicas 
[Topic=testTopic1,Partition=1,Replica=A] -------> (1)

2016/01/14 19:49:22.930 [KafkaController] [Controller B]: New leader and ISR 
for partition [testTopic1,1] is {"leader":D,"leader_epoch":1,"isr":[D]} ------> 
(2)

2016/01/14 19:49:23.028 [ReplicaStateMachine] [Replica state machine on 
controller B]: Invoking state change to OfflineReplica for replicas 
[Topic=testTopic2,Partition=1,Replica=A] -------> (3)

2016/01/14 19:49:23.032 [KafkaController] [Controller B]: New leader and ISR 
for partition [testTopic2,1] is {"leader":C,"leader_epoch":10,"isr":[C]} -----> 
(4)

2016/01/14 19:49:23.996 [KafkaController] [Controller B]: Broker failure 
callback for A
2016/01/14 19:49:23.997 [PartitionStateMachine] [Partition state machine on 
Controller B]: Invoking state change to OfflinePartition for partitions 

2016/01/14 19:49:23.998 [ReplicaStateMachine] [Replica state machine on 
controller B]: Invoking state change to OfflineReplica for replicas 
[Topic=__consumer_offsets,Partition=59,Replica=A],[Topic=__consumer_offsets,Partition=81,Replica=A],[Topic=__consumer_offsets,Partition=61,Replica=A],[Topic=testTopic2,Partition=0,Replica=A],[Topic=__consumer_offsets,Partition=5,Replica=A],[Topic=__consumer_offsets,Partition=89,Replica=A],[Topic=__consumer_offsets,Partition=1,Replica=A],[Topic=__consumer_offsets,Partition=22,Replica=A],[Topic=__consumer_offsets,Partition=60,Replica=A],[Topic=testTopic1,Partition=2,Replica=A],[Topic=__consumer_offsets,Partition=96,Replica=A],[Topic=testTopic2,Partition=1,Replica=A],[Topic=__consumer_offsets,Partition=36,Replica=A],[Topic=__consumer_offsets,Partition=10,Replica=A],[Topic=__consumer_offsets,Partition=69,Replica=A],[Topic=__consumer_offsets,Partition=43,Replica=A],[Topic=__consumer_offsets,Partition=57,Replica=A],[Topic=__consumer_offsets,Partition=21,Replica=A],[Topic=__consumer_offsets,Partition=46,Replica=A],[Topic=__consumer_offsets,Partition=83,Replica=A],[Topic=__consumer_offsets,Partition=17,Replica=A],[Topic=__consumer_offsets,Partition=73,Replica=A],[Topic=__consumer_offsets,Partition=58,Replica=A],[Topic=__consumer_offsets,Partition=26,Replica=A],[Topic=__consumer_offsets,Partition=2,Replica=A],[Topic=__consumer_offsets,Partition=70,Replica=A],[Topic=__consumer_offsets,Partition=13,Replica=A],[Topic=__consumer_offsets,Partition=62,Replica=A],[Topic=__consumer_offsets,Partition=25,Replica=A],[Topic=__consumer_offsets,Partition=9,Replica=A],[Topic=__consumer_offsets,Partition=29,Replica=A],[Topic=__consumer_offsets,Partition=97,Replica=A],[Topic=__consumer_offsets,Partition=53,Replica=A],[Topic=__consumer_offsets,Partition=77,Replica=A],[Topic=__consumer_offsets,Partition=40,Replica=A],[Topic=__consumer_offsets,Partition=52,Replica=A],[Topic=__consumer_offsets,Partition=50,Replica=A],[Topic=__consumer_offsets,Partition=64,Replica=A],[Topic=__consumer_offsets,Partition=23,Replica=A],[Topic=__consumer_offsets,Partition=55,Replica=A],[Topic=__consumer_offsets,Partition=93,Replica=A],[Topic=__consumer_offsets,Partition=12,Replica=A],[Topic=__consumer_offsets,Partition=16,Replica=A],[Topic=testTopic1,Partition=4,Replica=A],[Topic=__consumer_offsets,Partition=38,Replica=A],[Topic=__consumer_offsets,Partition=65,Replica=A],[Topic=__consumer_offsets,Partition=95,Replica=A],[Topic=__consumer_offsets,Partition=31,Replica=A],[Topic=__consumer_offsets,Partition=88,Replica=A],[Topic=__consumer_offsets,Partition=19,Replica=A],[Topic=__consumer_offsets,Partition=98,Replica=A],[Topic=__consumer_offsets,Partition=45,Replica=A],[Topic=__consumer_offsets,Partition=79,Replica=A],[Topic=__consumer_offsets,Partition=94,Replica=A],[Topic=__consumer_offsets,Partition=4,Replica=A],[Topic=__consumer_offsets,Partition=91,Replica=A],[Topic=__consumer_offsets,Partition=86,Replica=A],[Topic=__consumer_offsets,Partition=0,Replica=A],[Topic=__consumer_offsets,Partition=85,Replica=A],[Topic=testTopic1,Partition=6,Replica=A],[Topic=__consumer_offsets,Partition=24,Replica=A],[Topic=__consumer_offsets,Partition=72,Replica=A],[Topic=__consumer_offsets,Partition=37,Replica=A],[Topic=__consumer_offsets,Partition=82,Replica=A],[Topic=__consumer_offsets,Partition=76,Replica=A],[Topic=__consumer_offsets,Partition=7,Replica=A],[Topic=__consumer_offsets,Partition=74,Replica=A],[Topic=testTopic1,Partition=1,Replica=A],[Topic=__consumer_offsets,Partition=47,Replica=A],[Topic=__consumer_offsets,Partition=33,Replica=A],[Topic=__consumer_offsets,Partition=49,Replica=A],[Topic=__consumer_offsets,Partition=34,Replica=A],[Topic=__consumer_offsets,Partition=28,Replica=A],[Topic=__consumer_offsets,Partition=48,Replica=A],[Topic=__consumer_offsets,Partition=14,Replica=A],[Topic=__consumer_offsets,Partition=71,Replica=A],[Topic=__consumer_offsets,Partition=41,Replica=A],[Topic=__consumer_offsets,Partition=67,Replica=A],[Topic=__consumer_offsets,Partition=84,Replica=A],[Topic=__consumer_offsets,Partition=35,Replica=A],[Topic=__consumer_offsets,Partition=11,Replica=A]

2016/01/14 19:49:24.029 [KafkaController] [Controller B]: New leader and ISR 
for partition [testTopic2,1] is {"leader":C,"leader_epoch":11,"isr":[C]} 
------> (5)

2016/01/14 19:49:24.212 [KafkaController] [Controller B]: Cannot remove replica 
A from ISR of partition [testTopic1,1] since it is not in the ISR. Leader = D ; 
ISR = List(D) ----------> (6)

If after (1) and (2) controller gets rid of the replica A from the ISR in 
zookeeper for [testTopic1-1] as displayed in 6), why doesn't it do the  same 
for [testTopic2-1] as per 5) ????








--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to