Jason Rosenberg created KAFKA-1124:
--------------------------------------

             Summary: Sending to a new topic (with auto.create.topics.enable) 
returns ERROR
                 Key: KAFKA-1124
                 URL: https://issues.apache.org/jira/browse/KAFKA-1124
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 0.8
            Reporter: Jason Rosenberg


I had thought this was reported issue, but can't seem to find a previous report 
for it.

If auto.create.topics.enable is true, a producer still gets an ERROR logged on 
the first attempt to send a message to a new topic, e.g.:

2013-11-06 03:00:08,638 ERROR [Thread-1] async.DefaultEventHandler - Failed to 
collate messages by topic, partition due to: Failed to fetch topic metadata for 
topic: mynewtopic
2013-11-06 03:00:08,638  INFO [Thread-1] async.DefaultEventHandler - Back off 
for 100 ms before retrying send. Remaining retries = 3

This usually clears itself up immediately on retry (after 100 ms), as handled 
by the the kafka.producer.async.DefaultEventHandler (with retries enabled).

However, this is logged to the client as an ERROR, and looks scary, when in 
fact it should have been a normal operation (since we have 
auto.create.topics.enable=true).

There should be a better interaction here between the producer client and the 
server.

Perhaps the server can create the topic in flight before returning the metadata 
request.

Or, if it needs to be asynchronous, it could return a code which indicates 
something like: "The topic doesn't exist yet, it is being created, try again 
shortly".....and have the client automatically retry (even if retries not 
enabled, since it's not an ERROR condition, really).

The ERROR log level is a problem since apps often have alert systems set up to 
notify when any ERROR happens, etc.....




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to