[ 
https://issues.apache.org/jira/browse/KAFKA-579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483399#comment-13483399
 ] 

Jun Rao commented on KAFKA-579:
-------------------------------

Very good point. To address this issue, we have created 
ClientUtils.fetchTopicMetadata which closes the underlying socket after each 
getMetadata request is processed. Both producer and consumer use this util to 
get metadata. Since getMetadata is used infrequently, creating a socket per 
request is not too much overhead.
                
> remove connection timeout in SyncProducer
> -----------------------------------------
>
>                 Key: KAFKA-579
>                 URL: https://issues.apache.org/jira/browse/KAFKA-579
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.8
>            Reporter: Jun Rao
>            Assignee: Swapnil Ghike
>            Priority: Blocker
>              Labels: bugs, newbie
>             Fix For: 0.8
>
>         Attachments: kafka-579-v1.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Currently, SyncProducer has a few parameters that control how long the client 
> should wait to establish a socket connection and how frequent the connection 
> should be re-established. Those parameters seem to be needed primarily for 
> vip on a load balancer. In 0.8, SyncProducer doesn't deal with VIP any more. 
> So, we probably should get rid of those parameters. One of the issues that I 
> have seen is that when a broker is down, SyncProducer will still wait 
> connectionTimeout time to try to establish a connection. This is unnecessary 
> since the high level producer already has the retry logic and is delaying 
> requests like getMetadataRequest.

--
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