[jira] [Updated] (KAFKA-1733) Producer.send will block indeterminately when broker is unavailable.

2014-10-31 Thread Marc Chung (JIRA)

 [ 
https://issues.apache.org/jira/browse/KAFKA-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marc Chung updated KAFKA-1733:
--
Attachment: (was: kafka-1733-add-connectTimeoutMs.patch)

 Producer.send will block indeterminately when broker is unavailable.
 

 Key: KAFKA-1733
 URL: https://issues.apache.org/jira/browse/KAFKA-1733
 Project: Kafka
  Issue Type: Bug
  Components: core, producer 
Reporter: Marc Chung
 Attachments: kafka-1733-add-connectTimeoutMs.patch


 This is a follow up to the conversation here:
 https://mail-archives.apache.org/mod_mbox/kafka-dev/201409.mbox/%3ccaog_4qymoejhkbo0n31+a-ujx0z5unsisd5wbrmn-xtx7gi...@mail.gmail.com%3E
 During ClientUtils.fetchTopicMetadata, if the broker is unavailable, 
 socket.connect will block indeterminately. Any retry policy 
 (message.send.max.retries) further increases the time spent waiting for the 
 socket to connect.
 The root fix is to add a connection timeout value to the BlockingChannel's 
 socket configuration, like so:
 {noformat}
 -channel.socket.connect(new InetSocketAddress(host, port))
 +channel.socket.connect(new InetSocketAddress(host, port), connectTimeoutMs)
 {noformat}
 The simplest thing to do here would be to have a constant, default value that 
 would be applied to every socket configuration. 
 Is that acceptable? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (KAFKA-1733) Producer.send will block indeterminately when broker is unavailable.

2014-10-30 Thread Marc Chung (JIRA)

 [ 
https://issues.apache.org/jira/browse/KAFKA-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marc Chung updated KAFKA-1733:
--
Attachment: kafka-1733-add-connectTimeoutMs.patch

In this patch, I've set the connectTimeoutMs to the same value as readTimeoutMs.

It's patched against trunk.

 Producer.send will block indeterminately when broker is unavailable.
 

 Key: KAFKA-1733
 URL: https://issues.apache.org/jira/browse/KAFKA-1733
 Project: Kafka
  Issue Type: Bug
  Components: core, producer 
Reporter: Marc Chung
 Attachments: kafka-1733-add-connectTimeoutMs.patch


 This is a follow up to the conversation here:
 https://mail-archives.apache.org/mod_mbox/kafka-dev/201409.mbox/%3ccaog_4qymoejhkbo0n31+a-ujx0z5unsisd5wbrmn-xtx7gi...@mail.gmail.com%3E
 During ClientUtils.fetchTopicMetadata, if the broker is unavailable, 
 socket.connect will block indeterminately. Any retry policy 
 (message.send.max.retries) further increases the time spent waiting for the 
 socket to connect.
 The root fix is to add a connection timeout value to the BlockingChannel's 
 socket configuration, like so:
 {noformat}
 -channel.socket.connect(new InetSocketAddress(host, port))
 +channel.socket.connect(new InetSocketAddress(host, port), connectTimeoutMs)
 {noformat}
 The simplest thing to do here would be to have a constant, default value that 
 would be applied to every socket configuration. 
 Is that acceptable? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (KAFKA-1733) Producer.send will block indeterminately when broker is unavailable.

2014-10-27 Thread Marc Chung (JIRA)
Marc Chung created KAFKA-1733:
-

 Summary: Producer.send will block indeterminately when broker is 
unavailable.
 Key: KAFKA-1733
 URL: https://issues.apache.org/jira/browse/KAFKA-1733
 Project: Kafka
  Issue Type: Bug
  Components: core, producer 
Reporter: Marc Chung
Assignee: Jun Rao


This is a follow up to the conversation here:

https://mail-archives.apache.org/mod_mbox/kafka-dev/201409.mbox/%3ccaog_4qymoejhkbo0n31+a-ujx0z5unsisd5wbrmn-xtx7gi...@mail.gmail.com%3E

During ClientUtils.fetchTopicMetadata, if the broker is unavailable, 
socket.connect will block indeterminately. Any retry policy 
(message.send.max.retries) further increases the time spent waiting for the 
socket to connect.

The root fix is to add a connection timeout value to the BlockingChannel's 
socket configuration, like so:

{noformat}
-channel.socket.connect(new InetSocketAddress(host, port))
+channel.socket.connect(new InetSocketAddress(host, port), connectTimeoutMs)
{noformat}

The simplest thing to do here would be to have a constant, default value that 
would be applied to every socket configuration. 

Is that acceptable? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (KAFKA-1733) Producer.send will block indeterminately when broker is unavailable.

2014-10-27 Thread Marc Chung (JIRA)

[ 
https://issues.apache.org/jira/browse/KAFKA-1733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185539#comment-14185539
 ] 

Marc Chung commented on KAFKA-1733:
---

I have a patch (work in progress) here: 
https://github.com/mchung/kafka/commit/87b8ddbfe23dc887f56fa6f9ea3669733933c49b

 Producer.send will block indeterminately when broker is unavailable.
 

 Key: KAFKA-1733
 URL: https://issues.apache.org/jira/browse/KAFKA-1733
 Project: Kafka
  Issue Type: Bug
  Components: core, producer 
Reporter: Marc Chung
Assignee: Jun Rao

 This is a follow up to the conversation here:
 https://mail-archives.apache.org/mod_mbox/kafka-dev/201409.mbox/%3ccaog_4qymoejhkbo0n31+a-ujx0z5unsisd5wbrmn-xtx7gi...@mail.gmail.com%3E
 During ClientUtils.fetchTopicMetadata, if the broker is unavailable, 
 socket.connect will block indeterminately. Any retry policy 
 (message.send.max.retries) further increases the time spent waiting for the 
 socket to connect.
 The root fix is to add a connection timeout value to the BlockingChannel's 
 socket configuration, like so:
 {noformat}
 -channel.socket.connect(new InetSocketAddress(host, port))
 +channel.socket.connect(new InetSocketAddress(host, port), connectTimeoutMs)
 {noformat}
 The simplest thing to do here would be to have a constant, default value that 
 would be applied to every socket configuration. 
 Is that acceptable? 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)