Jay Kreps created KAFKA-608:
-------------------------------

             Summary: getTopicMetadata does not respect producer config settings
                 Key: KAFKA-608
                 URL: https://issues.apache.org/jira/browse/KAFKA-608
             Project: Kafka
          Issue Type: Bug
            Reporter: Jay Kreps


ProducerPool.scala contains the following code:
object ProducerPool{
  def createSyncProducer(configOpt: Option[ProducerConfig], broker: Broker): 
SyncProducer = {
    val props = new Properties()
    props.put("host", broker.host)
    props.put("port", broker.port.toString)
    if(configOpt.isDefined)
      props.putAll(configOpt.get.props.props)
    new SyncProducer(new SyncProducerConfig(props))
  }
}

Note also, that ClientUtils.getTopicMetadata() does the following:
   ProducerPool.createSyncProducer(None, brokers(i))

As a result there is no way to control the socket settings for the get metadata 
request.

My recommendation is that we require the config to be specified in the 

Note that this creates a new sync producer without using ANY of the settings 
the user had given for the producer. In particular the socket timeout is 
defaulted to 500ms. 

This causes unit tests to fail a lot since a newly started test may easily 
timeout on a 500ms request.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to