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

Greg Zoller commented on KAFKA-3568:
------------------------------------

Ok... I don't believe my test results, but I have repeated them.

I found that build 9cfb99 (Mar 22) worked for me -- KafkaProducer didn't 
hang/time-out.  I get meaningful commit metadata on send() callback and null as 
the exception, and it returned instantly as expected.  The next-newer build, 
73470b0, KafkaProducer send() calls would hang for 60 seconds then 
timeout--null for callback metadata and timeout exceptions populated.

The only differences between the content of these two builds were documentation 
changes and a tiny config file change.  So I started making the changes 
manually one at a time until I found the issue.... and I can't believe it.

Build 9cfb99 removed two lines in config/server.properties:

#advertised.host.name=<hostname routable by clients>
#advertised.port=<port accessible by clients>

(It also commented out a listeners config variable but turning this on/off made 
no difference to my issue.)  Note: THE TWO LINES ARE COMMENTED OUT!  I flipped 
this a few times in disbelief but the results were the same.

My process:

1) ./gradlew clean
2) ./gradlew -PscalaVersion=2.11 releaseTarGz -x signArchives
3) (build a Docker image with the tgz file just like in spotify/kafka)
4) ./gradlew -PscalaVersion=2.11 install_2_11
5) clean, update, then recompile my test code in sbt, built against the release 
in .m2 local maven repo
6) run

This process is repeatable and I applied it consistently through all tests.

Not convinced yet?  I went back to trunk and pasted in those 2 commented out 
lines in config/server.properties, leaving everything else as-is and rebuilt 
using the process above.  Worked!  Here's the git diff on my 2-line change to 
trunk:

$ git diff
diff --git a/config/server.properties b/config/server.properties
index aebcb87..d9d17e8 100644
--- a/config/server.properties
+++ b/config/server.properties
@@ -29,6 +29,9 @@ broker.id=0
 #     listeners = PLAINTEXT://your.host.name:9092
 #listeners=PLAINTEXT://:9092

+#advertised.host.name=<hostname routable by clients>
+#advertised.port=<port accessible by clients>
+
 # Hostname and port the broker will advertise to producers and consumers. If 
not set,
 # it uses the value for "listeners" if configured.  Otherwise, it will use the 
value
 # returned from java.net.InetAddress.getCanonicalHostName().

I dunno what to say.  I'll keep flipping this and have a friend confirm the 
results.  Is some code or script textually looking at this file (not parsing 
it) for either of these 2 properties?

> KafkaProducer fails with timeout on message send()
> --------------------------------------------------
>
>                 Key: KAFKA-3568
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3568
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients
>    Affects Versions: 0.10.1.0
>         Environment: MacOS Docker
>            Reporter: Greg Zoller
>              Labels: producer
>
> I had a KafkaProducer working fine in 0.9.0.1.  I was having unrelated 
> problems in that version so thought to try 0.10.1.0.  I built it as I did 
> 0.9.0.1:
> Fresh build against Scala 2.11.7.  Built the tgz build plus local maven 
> install.  From the tgz I created a Docker image similar to spotify/kafka.  I 
> linked my producer code to the maven jars.  This process worked in 0.9.
> Code is here:  
> https://gist.github.com/gzoller/145faef1fefc8acea212e87e06fc86e8
> At the bottom you can see a clip from the output... there's a warning about 
> metadata (not sure if its important or not) and then its trying to send() 
> messages and timing out.  I clipped the output, but it does fail the same way 
> for each message sent in 0.10.1.0.  Same code compiled against 0.9.0.1 
> populates the topic's partitions w/o problem.
> Was there a breaking change between 0.9 and 0.10, or is this a bug?



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

Reply via email to