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