Oleg Lvovitch created KAFKA-1557:
------------------------------------
Summary: 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.1, 0.8.0
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.2, 0.8.1.1
Attachments: 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)