[ 
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

        

Reply via email to