[
https://issues.apache.org/jira/browse/KAFKA-608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510264#comment-13510264
]
Jay Kreps commented on KAFKA-608:
---------------------------------
Guys, previously we had a terrible api to fetch metadata. This is a public api,
and it was checked in without being at all thought through. With this patch now
we have two bad apis. How is this happening?
> getTopicMetadata does not respect producer config settings
> ----------------------------------------------------------
>
> Key: KAFKA-608
> URL: https://issues.apache.org/jira/browse/KAFKA-608
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8
> Reporter: Jay Kreps
> Assignee: Neha Narkhede
> Priority: Blocker
> Fix For: 0.8
>
> Attachments: kafka-608-v1.patch, kafka-608-v2.patch
>
>
> 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