[ https://issues.apache.org/jira/browse/KAFKA-369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13429239#comment-13429239 ]
Jun Rao commented on KAFKA-369: ------------------------------- Thanks for patch v2. Some more comments: 20. ProducerConfig: 20.1 change the comment and explain this is just for bootstrapping and it just needs to be a subset of all brokers in the cluster. 20.2 use Utils.getString(props, "broker.list"). It will make sure the property exists. 21. Producer: get rid of the following lines since ProducerConfig makes sure that brokerlist exists. if(!Utils.propertyExists(config.brokerList)) throw new InvalidConfigException("broker.list property must be specified in the producer") 22. BrokerPartitionInfo: 22.1 Why is the following line there in the constructor? error("The broker list is : " + brokerList) 22.2 updateInfo: 22.2.1 we should close the producer even when there are exceptions 22.2..2 if we get any socket level exception when getting metadata, we should retry getting the metadata using the next broker in the list. 22.2.3 should call producerPool.updateProducer after the error checking 23. ProducerPool: 23.1 remove unused import 23.2 updateProducer: need to sync on the lock. 23.3 updateProducer: newBroker.+= get rid of the dot 24. KafkaZookeeper: 24.1 registerBrokerInZk: The following line should be val hostName = config.hostName. val hostName = if (config.hostName == null) InetAddress.getLocalHost.getHostAddress else config.hostName 25. ProducerConfig,Utils: remove unused import 26. DefaultEventHandler: 26.1 constructor: get rid of the comment "this api is for testing" 26.2 send(): get rid if the following line: error("pool broker id: " + brokerId) > remove ZK dependency on producer > -------------------------------- > > Key: KAFKA-369 > URL: https://issues.apache.org/jira/browse/KAFKA-369 > Project: Kafka > Issue Type: Sub-task > Components: core > Affects Versions: 0.8 > Reporter: Jun Rao > Assignee: Yang Ye > Attachments: kafka_369_v1.diff, kafka_369_v2.diff > > Original Estimate: 252h > Remaining Estimate: 252h > > Currently, the only place that ZK is actually used is in BrokerPartitionInfo. > We use ZK to get a list of brokers for making TopicMetadataRequest requests. > Instead, we can provide a list of brokers in the producer config directly. > That way, the producer client is no longer dependant on ZK. -- 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