[ 
https://issues.apache.org/jira/browse/KAFKA-1557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oleg Lvovitch updated KAFKA-1557:
---------------------------------

    Attachment: BrokenKafkaLink.scala

> ISR reported by TopicMetadataResponse most of the time doesn't match the 
> Zookeeper information (and the truth)
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-1557
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1557
>             Project: Kafka
>          Issue Type: Bug
>          Components: consumer, controller, core, replication
>    Affects Versions: 0.8.0, 0.8.1
>         Environment: OSX 10.9.3, Linux Scientific 6.5
> It actually doesn't seem to matter and appears to be OS-agnostic
>            Reporter: Oleg Lvovitch
>            Assignee: Neha Narkhede
>             Fix For: 0.8.1.1, 0.8.2
>
>         Attachments: BrokenKafkaLink.scala, server1.properties, 
> server2.properties
>
>
> TL;DR - after a topic is created, and at least one broker in the ISR is 
> restarted, the ISR reported by the TopicMetadataResponse is incorrect.
> Specific steps to repro:
> - Download 0.8.1 Kafka
> - Copy server.properties twice into server1.properties and server2.properties 
> (attached) - basically just ports and log paths changed to allow brokers to 
> co-exist
> - Start zookeper using "sh bin/zookeeper-server-start.sh 
> config/zookeper.properties"
> - Start broker1: 'sh bin/kafka-server-start.sh config/server1.properties"
> - Start broker2: 'sh bin/kafka-server-start.sh config/server2.properties"
> - Create a new topic: "sh bin/kafka-topics.sh --zookeeper localhost:2181 
> --create --topic test --replication-factor 2 --partitions 3"
> - Examine topic state: "sh bin/kafka-topics.sh --zookeeper localhost:2181 
> --describe --topic test" - note that all ISRs are of length 2
> - Run the attached Scala code that uses TopicMetadataRequest to exmaine topic 
> state. Observer that all ISRs are of length 2 and match the information 
> output by the script
> - Shut down broker2 (simply hit Cntrl-C in the terminal), wait 5-10 seconds
> - Restart broker 2 using the original command
> - Check the status of the topic again. Observe that the leader for all topics 
> is 0 (as expected), and all ISRs contain both brokers (as expected)
> - Run the attached Scala snippet again. 
> EXPECTED:
> - The ISR information are of length 2
> ACTUAL:
> - ALL ISRs contain just broker 0
> NOTE: depending on how long broker 2 was down, sometimes some ISRs will 
> contain the full list, but shutting it down for 15+ secs seem to always yeild 
> consistent repro



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to