I think we have discussed this issue before but I just want to bring it up again to get confirmed.
Currently when the send() call is triggered, first of all the cluster information will be fetched for the specified topic, and if such information is not available yet the send call will block on refreshing the cluster metadata. The hope is that when auto.create.topics is turned on, eventually the topic will be created and metadata be propagated back to the producer, so it may just block for a little while. But for some cases the send() call may block indefinitely, for example: 1. Topic is not created and auto.create.topic is set to false. 2. Broker list is wrong so that no metadata can be ever fetched. Is this what we expect in such scenarios? -- -- Guozhang