You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Jason Rosenberg (JIRA)" <ji...@apache.org> on 2013/11/06 19:34:18 UTC

[jira] [Created] (KAFKA-1124) Sending to a new topic (with auto.create.topics.enable) returns ERROR

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)