[jira] [Commented] (KAFKA-1913) App hungs when calls producer.send to wrong IP of Kafka broker

2015-07-29 Thread Igor Khomenko (JIRA)

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

Igor Khomenko commented on KAFKA-1913:
--

For now I have to use the following utils to check the url 

{code}
public static boolean isReachable(String hostname, int port, int timeout) {
if(hostname == null) {
return false;
} else {
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Checking host:  + hostname + , port:  + 
port + , timeout:  + timeout);
}

InetSocketAddress sockaddr = new InetSocketAddress(hostname, port);
Socket socket = new Socket();
boolean online = true;

try {
socket.connect(sockaddr, timeout);
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is ON);
}
} catch (IOException var15) {
online = false;
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is not 
reachable);
}
} finally {
try {
socket.close();
} catch (IOException var14) {
;
}

}

return online;
}
}
{code} 

 App hungs when calls producer.send to wrong IP of Kafka broker
 --

 Key: KAFKA-1913
 URL: https://issues.apache.org/jira/browse/KAFKA-1913
 Project: Kafka
  Issue Type: Bug
  Components: producer 
Affects Versions: 0.8.1.1
 Environment: OS X 10.10.1, Java 7, AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.3


 I have next test code to check the Kafka functionality:
 {code}
 package com.company;
 import kafka.common.FailedToSendMessageException;
 import kafka.javaapi.producer.Producer;
 import kafka.producer.KeyedMessage;
 import kafka.producer.ProducerConfig;
 import java.util.Date;
 import java.util.Properties;
 public class Main {
 public static void main(String[] args) {
 Properties props = new Properties();
 props.put(metadata.broker.list, 192.168.9.3:9092);
 props.put(serializer.class, com.company.KafkaMessageSerializer);
 props.put(request.required.acks, 1);
 ProducerConfig config = new ProducerConfig(props);
 // The first is the type of the Partition key, the second the type of 
 the message.
 ProducerString, String messagesProducer = new ProducerString, 
 String(config);
 // Send
 String topicName = my_messages;
 String message = hello world;
 KeyedMessageString, String data = new KeyedMessageString, 
 String(topicName, message);
 try {
 System.out.println(new Date() + : sending...);
 messagesProducer.send(data);
 System.out.println(new Date() +  : sent);
 }catch (FailedToSendMessageException e){
 System.out.println(e:  + e);
 e.printStackTrace();
 }catch (Exception exc){
 System.out.println(e:  + exc);
 exc.printStackTrace();
 }
 }
 }
 {code}
 {code}
 package com.company;
 import kafka.serializer.Encoder;
 import kafka.utils.VerifiableProperties;
 /**
  * Created by igorkhomenko on 2/2/15.
  */
 public class KafkaMessageSerializer implements EncoderString {
 public KafkaMessageSerializer(VerifiableProperties verifiableProperties) {
 /* This constructor must be present for successful compile. */
 }
 @Override
 public byte[] toBytes(String entity) {
 byte [] serializedMessage = doCustomSerialization(entity);
 return serializedMessage;
 }
 private byte[] doCustomSerialization(String entity) {
 return entity.getBytes();
 }
 }
 {code}
 Here is also GitHub version https://github.com/soulfly/Kafka-java-producer
 So it just hungs on next line:
 {code}
 messagesProducer.send(data)
 {code}
 When I replaced the brokerlist to
 {code}
 props.put(metadata.broker.list, localhost:9092);
 {code}
 then I got an exception:
 {code}
 kafka.common.FailedToSendMessageException: Failed to send messages after 3 
 tries.
 {code}
 so it's okay
 Why it hungs with wrong brokerlist? Any ideas?



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


[jira] [Comment Edited] (KAFKA-1913) App hungs when calls producer.send to wrong IP of Kafka broker

2015-07-29 Thread Igor Khomenko (JIRA)

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

Igor Khomenko edited comment on KAFKA-1913 at 7/29/15 11:53 AM:


For now I have to use the following utils to check the url before use it in 
kafka

{code}
public static boolean isReachable(String hostname, int port, int timeout) {
if(hostname == null) {
return false;
} else {
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Checking host:  + hostname + , port:  + 
port + , timeout:  + timeout);
}

InetSocketAddress sockaddr = new InetSocketAddress(hostname, port);
Socket socket = new Socket();
boolean online = true;

try {
socket.connect(sockaddr, timeout);
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is ON);
}
} catch (IOException var15) {
online = false;
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is not 
reachable);
}
} finally {
try {
socket.close();
} catch (IOException var14) {
;
}

}

return online;
}
}
{code} 


was (Author: igor.quickblox):
For now I have to use the following utils to check the url 

{code}
public static boolean isReachable(String hostname, int port, int timeout) {
if(hostname == null) {
return false;
} else {
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Checking host:  + hostname + , port:  + 
port + , timeout:  + timeout);
}

InetSocketAddress sockaddr = new InetSocketAddress(hostname, port);
Socket socket = new Socket();
boolean online = true;

try {
socket.connect(sockaddr, timeout);
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is ON);
}
} catch (IOException var15) {
online = false;
if(log.isLoggable(Level.FINE)) {
log.log(Level.FINE, Host \' + hostname + \' is not 
reachable);
}
} finally {
try {
socket.close();
} catch (IOException var14) {
;
}

}

return online;
}
}
{code} 

 App hungs when calls producer.send to wrong IP of Kafka broker
 --

 Key: KAFKA-1913
 URL: https://issues.apache.org/jira/browse/KAFKA-1913
 Project: Kafka
  Issue Type: Bug
  Components: producer 
Affects Versions: 0.8.1.1
 Environment: OS X 10.10.1, Java 7, AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.3


 I have next test code to check the Kafka functionality:
 {code}
 package com.company;
 import kafka.common.FailedToSendMessageException;
 import kafka.javaapi.producer.Producer;
 import kafka.producer.KeyedMessage;
 import kafka.producer.ProducerConfig;
 import java.util.Date;
 import java.util.Properties;
 public class Main {
 public static void main(String[] args) {
 Properties props = new Properties();
 props.put(metadata.broker.list, 192.168.9.3:9092);
 props.put(serializer.class, com.company.KafkaMessageSerializer);
 props.put(request.required.acks, 1);
 ProducerConfig config = new ProducerConfig(props);
 // The first is the type of the Partition key, the second the type of 
 the message.
 ProducerString, String messagesProducer = new ProducerString, 
 String(config);
 // Send
 String topicName = my_messages;
 String message = hello world;
 KeyedMessageString, String data = new KeyedMessageString, 
 String(topicName, message);
 try {
 System.out.println(new Date() + : sending...);
 messagesProducer.send(data);
 System.out.println(new Date() +  : sent);
 }catch (FailedToSendMessageException e){
 System.out.println(e:  + e);
 e.printStackTrace();
 }catch (Exception exc){
 System.out.println(e:  + exc);
 exc.printStackTrace();
 }
 }
 }
 {code}
 {code}
 package com.company;
 import kafka.serializer.Encoder;
 import kafka.utils.VerifiableProperties;
 /**
  * Created by igorkhomenko on 2/2/15.
  */
 public class KafkaMessageSerializer implements EncoderString {
 

[jira] [Updated] (KAFKA-1913) App hungs when calls producer.send to wrong IP of Kafka broker

2015-02-04 Thread Igor Khomenko (JIRA)

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

Igor Khomenko updated KAFKA-1913:
-
Environment: OS X 10.10.1, Java 7, AWS Linux  (was: OS X 10.10.1, Java 7)

 App hungs when calls producer.send to wrong IP of Kafka broker
 --

 Key: KAFKA-1913
 URL: https://issues.apache.org/jira/browse/KAFKA-1913
 Project: Kafka
  Issue Type: Bug
  Components: producer 
Affects Versions: 0.8.1.1
 Environment: OS X 10.10.1, Java 7, AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.2


 I have next test code to check the Kafka functionality:
 {code}
 package com.company;
 import kafka.common.FailedToSendMessageException;
 import kafka.javaapi.producer.Producer;
 import kafka.producer.KeyedMessage;
 import kafka.producer.ProducerConfig;
 import java.util.Date;
 import java.util.Properties;
 public class Main {
 public static void main(String[] args) {
 Properties props = new Properties();
 props.put(metadata.broker.list, 192.168.9.3:9092);
 props.put(serializer.class, com.company.KafkaMessageSerializer);
 props.put(request.required.acks, 1);
 ProducerConfig config = new ProducerConfig(props);
 // The first is the type of the Partition key, the second the type of 
 the message.
 ProducerString, String messagesProducer = new ProducerString, 
 String(config);
 // Send
 String topicName = my_messages;
 String message = hello world;
 KeyedMessageString, String data = new KeyedMessageString, 
 String(topicName, message);
 try {
 System.out.println(new Date() + : sending...);
 messagesProducer.send(data);
 System.out.println(new Date() +  : sent);
 }catch (FailedToSendMessageException e){
 System.out.println(e:  + e);
 e.printStackTrace();
 }catch (Exception exc){
 System.out.println(e:  + exc);
 exc.printStackTrace();
 }
 }
 }
 {code}
 {code}
 package com.company;
 import kafka.serializer.Encoder;
 import kafka.utils.VerifiableProperties;
 /**
  * Created by igorkhomenko on 2/2/15.
  */
 public class KafkaMessageSerializer implements EncoderString {
 public KafkaMessageSerializer(VerifiableProperties verifiableProperties) {
 /* This constructor must be present for successful compile. */
 }
 @Override
 public byte[] toBytes(String entity) {
 byte [] serializedMessage = doCustomSerialization(entity);
 return serializedMessage;
 }
 private byte[] doCustomSerialization(String entity) {
 return entity.getBytes();
 }
 }
 {code}
 Here is also GitHub version https://github.com/soulfly/Kafka-java-producer
 So it just hungs on next line:
 {code}
 messagesProducer.send(data)
 {code}
 When I replaced the brokerlist to
 {code}
 props.put(metadata.broker.list, localhost:9092);
 {code}
 then I got an exception:
 {code}
 kafka.common.FailedToSendMessageException: Failed to send messages after 3 
 tries.
 {code}
 so it's okay
 Why it hungs with wrong brokerlist? Any ideas?



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


[jira] [Commented] (KAFKA-1913) App hungs when calls producer.send to wrong IP of Kafka broker

2015-02-04 Thread Igor Khomenko (JIRA)

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

Igor Khomenko commented on KAFKA-1913:
--

Any ideas so far? 

 App hungs when calls producer.send to wrong IP of Kafka broker
 --

 Key: KAFKA-1913
 URL: https://issues.apache.org/jira/browse/KAFKA-1913
 Project: Kafka
  Issue Type: Bug
  Components: producer 
Affects Versions: 0.8.1.1
 Environment: OS X 10.10.1, Java 7, AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.2


 I have next test code to check the Kafka functionality:
 {code}
 package com.company;
 import kafka.common.FailedToSendMessageException;
 import kafka.javaapi.producer.Producer;
 import kafka.producer.KeyedMessage;
 import kafka.producer.ProducerConfig;
 import java.util.Date;
 import java.util.Properties;
 public class Main {
 public static void main(String[] args) {
 Properties props = new Properties();
 props.put(metadata.broker.list, 192.168.9.3:9092);
 props.put(serializer.class, com.company.KafkaMessageSerializer);
 props.put(request.required.acks, 1);
 ProducerConfig config = new ProducerConfig(props);
 // The first is the type of the Partition key, the second the type of 
 the message.
 ProducerString, String messagesProducer = new ProducerString, 
 String(config);
 // Send
 String topicName = my_messages;
 String message = hello world;
 KeyedMessageString, String data = new KeyedMessageString, 
 String(topicName, message);
 try {
 System.out.println(new Date() + : sending...);
 messagesProducer.send(data);
 System.out.println(new Date() +  : sent);
 }catch (FailedToSendMessageException e){
 System.out.println(e:  + e);
 e.printStackTrace();
 }catch (Exception exc){
 System.out.println(e:  + exc);
 exc.printStackTrace();
 }
 }
 }
 {code}
 {code}
 package com.company;
 import kafka.serializer.Encoder;
 import kafka.utils.VerifiableProperties;
 /**
  * Created by igorkhomenko on 2/2/15.
  */
 public class KafkaMessageSerializer implements EncoderString {
 public KafkaMessageSerializer(VerifiableProperties verifiableProperties) {
 /* This constructor must be present for successful compile. */
 }
 @Override
 public byte[] toBytes(String entity) {
 byte [] serializedMessage = doCustomSerialization(entity);
 return serializedMessage;
 }
 private byte[] doCustomSerialization(String entity) {
 return entity.getBytes();
 }
 }
 {code}
 Here is also GitHub version https://github.com/soulfly/Kafka-java-producer
 So it just hungs on next line:
 {code}
 messagesProducer.send(data)
 {code}
 When I replaced the brokerlist to
 {code}
 props.put(metadata.broker.list, localhost:9092);
 {code}
 then I got an exception:
 {code}
 kafka.common.FailedToSendMessageException: Failed to send messages after 3 
 tries.
 {code}
 so it's okay
 Why it hungs with wrong brokerlist? Any ideas?



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


[jira] [Resolved] (KAFKA-1871) Kafka Producer constructor hungs in case of wrong 'serializer.class' property

2015-02-02 Thread Igor Khomenko (JIRA)

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

Igor Khomenko resolved KAFKA-1871.
--
   Resolution: Invalid
Fix Version/s: 0.8.1.1

It throws that exception in my demo app, 
but by some reason not in my production app, so closed

 Kafka Producer constructor hungs in case of wrong 'serializer.class' property
 -

 Key: KAFKA-1871
 URL: https://issues.apache.org/jira/browse/KAFKA-1871
 Project: Kafka
  Issue Type: Bug
  Components: clients, producer 
Affects Versions: 0.8.1.1
 Environment: AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.2, 0.8.1.1


 I have next code:
 {code}
 Properties props = new Properties();
 props.put(metadata.broker.list, 
 Services.getConfigInstance().getKafkaBrokerList());
 props.put(serializer.class, 
 main.java.com.services.kafka.MessageEntityToJsonSerializer);
 props.put(request.required.acks, 0);
 ProducerConfig config = new ProducerConfig(props);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connecting to Kafka...props:  + props);
 }
 producer = new ProducerString, MessageEntity(config);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connected to Kafka);
 }
 {code}
 It just hungs on 'new Producer' in case of wrong 'serializer.class' property



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


[jira] [Closed] (KAFKA-1871) Kafka Producer constructor hungs in case of wrong 'serializer.class' property

2015-02-02 Thread Igor Khomenko (JIRA)

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

Igor Khomenko closed KAFKA-1871.


 Kafka Producer constructor hungs in case of wrong 'serializer.class' property
 -

 Key: KAFKA-1871
 URL: https://issues.apache.org/jira/browse/KAFKA-1871
 Project: Kafka
  Issue Type: Bug
  Components: clients, producer 
Affects Versions: 0.8.1.1
 Environment: AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.1, 0.8.1.2


 I have next code:
 {code}
 Properties props = new Properties();
 props.put(metadata.broker.list, 
 Services.getConfigInstance().getKafkaBrokerList());
 props.put(serializer.class, 
 main.java.com.services.kafka.MessageEntityToJsonSerializer);
 props.put(request.required.acks, 0);
 ProducerConfig config = new ProducerConfig(props);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connecting to Kafka...props:  + props);
 }
 producer = new ProducerString, MessageEntity(config);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connected to Kafka);
 }
 {code}
 It just hungs on 'new Producer' in case of wrong 'serializer.class' property



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


[jira] [Created] (KAFKA-1913) App hungs when calls producer.send to wrong IP of Kafka broker

2015-02-02 Thread Igor Khomenko (JIRA)
Igor Khomenko created KAFKA-1913:


 Summary: App hungs when calls producer.send to wrong IP of Kafka 
broker
 Key: KAFKA-1913
 URL: https://issues.apache.org/jira/browse/KAFKA-1913
 Project: Kafka
  Issue Type: Bug
  Components: producer 
Affects Versions: 0.8.1.1
 Environment: OS X 10.10.1, Java 7
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.2


I have next test code to check the Kafka functionality:

{code}
package com.company;

import kafka.common.FailedToSendMessageException;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;

import java.util.Date;
import java.util.Properties;

public class Main {

public static void main(String[] args) {

Properties props = new Properties();
props.put(metadata.broker.list, 192.168.9.3:9092);
props.put(serializer.class, com.company.KafkaMessageSerializer);
props.put(request.required.acks, 1);

ProducerConfig config = new ProducerConfig(props);

// The first is the type of the Partition key, the second the type of 
the message.
ProducerString, String messagesProducer = new ProducerString, 
String(config);

// Send
String topicName = my_messages;
String message = hello world;
KeyedMessageString, String data = new KeyedMessageString, 
String(topicName, message);

try {
System.out.println(new Date() + : sending...);

messagesProducer.send(data);

System.out.println(new Date() +  : sent);

}catch (FailedToSendMessageException e){
System.out.println(e:  + e);
e.printStackTrace();

}catch (Exception exc){
System.out.println(e:  + exc);
exc.printStackTrace();
}
}
}
{code}

{code}
package com.company;

import kafka.serializer.Encoder;
import kafka.utils.VerifiableProperties;

/**
 * Created by igorkhomenko on 2/2/15.
 */
public class KafkaMessageSerializer implements EncoderString {

public KafkaMessageSerializer(VerifiableProperties verifiableProperties) {
/* This constructor must be present for successful compile. */
}

@Override
public byte[] toBytes(String entity) {
byte [] serializedMessage = doCustomSerialization(entity);
return serializedMessage;
}

private byte[] doCustomSerialization(String entity) {
return entity.getBytes();
}
}
{code}

Here is also GitHub version https://github.com/soulfly/Kafka-java-producer

So it just hungs on next line:
{code}
messagesProducer.send(data)
{code}

When I replaced the brokerlist to
{code}
props.put(metadata.broker.list, localhost:9092);
{code}

then I got an exception:
{code}
kafka.common.FailedToSendMessageException: Failed to send messages after 3 
tries.
{code}

so it's okay

Why it hungs with wrong brokerlist? Any ideas?





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


[jira] [Created] (KAFKA-1871) Kafka Producer constructor hungs in case of wrong 'serializer.class' property

2015-01-16 Thread Igor Khomenko (JIRA)
Igor Khomenko created KAFKA-1871:


 Summary: Kafka Producer constructor hungs in case of wrong 
'serializer.class' property
 Key: KAFKA-1871
 URL: https://issues.apache.org/jira/browse/KAFKA-1871
 Project: Kafka
  Issue Type: Bug
  Components: clients, producer 
Affects Versions: 0.8.1.1
 Environment: AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.2


I have next code:

{code}
Properties props = new Properties();
props.put(metadata.broker.list, 
Services.getConfigInstance().getKafkaBrokerList());
props.put(serializer.class, 
main.java.com.services.kafka.MessageEntityToJsonSerializer);
props.put(request.required.acks, 0);

ProducerConfig config = new ProducerConfig(props);

if (log.isLoggable(Level.INFO)) {
log.log(Level.INFO, Connecting to Kafka...props:  + props);
}

producer = new ProducerString, MessageEntity(config);

if (log.isLoggable(Level.INFO)) {
log.log(Level.INFO, Connected to Kafka);
}
{code}

It just hungs on 'new Producer' in case of wrong 'serializer.class' property



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


[jira] [Updated] (KAFKA-1871) Kafka Producer constructor hungs in case of wrong 'serializer.class' property

2015-01-16 Thread Igor Khomenko (JIRA)

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

Igor Khomenko updated KAFKA-1871:
-
Fix Version/s: (was: 0.8.2)
   0.8.1.2

 Kafka Producer constructor hungs in case of wrong 'serializer.class' property
 -

 Key: KAFKA-1871
 URL: https://issues.apache.org/jira/browse/KAFKA-1871
 Project: Kafka
  Issue Type: Bug
  Components: clients, producer 
Affects Versions: 0.8.1.1
 Environment: AWS Linux
Reporter: Igor Khomenko
Assignee: Jun Rao
 Fix For: 0.8.1.2


 I have next code:
 {code}
 Properties props = new Properties();
 props.put(metadata.broker.list, 
 Services.getConfigInstance().getKafkaBrokerList());
 props.put(serializer.class, 
 main.java.com.services.kafka.MessageEntityToJsonSerializer);
 props.put(request.required.acks, 0);
 ProducerConfig config = new ProducerConfig(props);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connecting to Kafka...props:  + props);
 }
 producer = new ProducerString, MessageEntity(config);
 if (log.isLoggable(Level.INFO)) {
 log.log(Level.INFO, Connected to Kafka);
 }
 {code}
 It just hungs on 'new Producer' in case of wrong 'serializer.class' property



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