[ https://issues.apache.org/jira/browse/KAFKA-350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420734#comment-13420734 ]
Jun Rao commented on KAFKA-350: ------------------------------- Thanks for patch v2. Some comments: 20. PartitionMetadata: Could we make getLeaderRequest() private? 21. DefaultEventHandler.partitionAndCollate(): Is it necessary for this method to return an Option? It seems that if this method hits any exception, it's simpler to just pass on the exception and let the caller deal with it. 22. LogSegment: Ideally this class should only deal with offsets local to the segment. Global offsets are only used at the Log level. So it's probably better to use local offset in the input of truncateUpto(). Similarly, we probably don't need endOffset since it returns global offset. If we do want to keep it, it probably should be named globalEndOffset. 23. Log: Since we removed the HW check in FileMessageSet.read. We will need to add a guard in Log.read() so that we only expose messages up to HW to the consumer. 24. LogManager: remove unused import 25. ControllerChannelManager.removeBroker: the error message is not correct since this method is called in places other than shutdown too. 26. system_test/single_host_multi_brokers/bin/run-test.sh: We should remove comments saying "If KAFKA-350 is fixed". 27. Unit tests pass on my desktop but fail on my laptop at the following test consistently. Without the patch, unit tests pass on my laptop too. This seems to be due to the change in ZooKeeperTestHarness. [info] Test Starting: testFetcher(kafka.consumer.FetcherTest) [error] Test Failed: testFetcher(kafka.consumer.FetcherTest) org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 2000 at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:876) at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98) at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84) at kafka.zk.ZooKeeperTestHarness$class.setUp(ZooKeeperTestHarness.scala:31) at kafka.consumer.FetcherTest.kafka$integration$KafkaServerTestHarness$$super$setUp(FetcherTest.scala:35) at kafka.integration.KafkaServerTestHarness$class.setUp(KafkaServerTestHarness.scala:35) at kafka.consumer.FetcherTest.setUp(FetcherTest.scala:57) > Enable message replication in the presence of controlled failures > ----------------------------------------------------------------- > > Key: KAFKA-350 > URL: https://issues.apache.org/jira/browse/KAFKA-350 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.8 > Reporter: Neha Narkhede > Assignee: Neha Narkhede > Attachments: kafka-350-v1.patch, kafka-350-v2.patch > > > KAFKA-46 introduced message replication feature in the absence of server > failures. This JIRA will improve the log recovery logic and fix other bugs to > enable message replication to happen in the presence of controlled server > failures -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira