[ https://issues.apache.org/jira/browse/KAFKA-3334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15220277#comment-15220277 ]
Aleksandar Stojadinovic commented on KAFKA-3334: ------------------------------------------------ I agree about overexposing the internals (at least in one document). A mention in FAQ, or even better, a chapter about auto-created topics should be more like it. I'm mentioning a separate chapter because I believe it will catch more attention. If someone is aiming to use the auto-crated feature, they will probably take a second and throw a look. Also, people Googling "Kafka publish autocreate" will have that one high in the results. To potentially discourage the auto-create feature, is it an option to disable it by default? And when a user searches for it, they can see a word of notice in the configuration? I mean, the best thing would be to never have the issue of missing a message, but I guess that's easier said than done :) . > First message on new topic not actually being sent, no exception thrown > ----------------------------------------------------------------------- > > Key: KAFKA-3334 > URL: https://issues.apache.org/jira/browse/KAFKA-3334 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.9.0.0 > Environment: Linux, Java > Reporter: Aleksandar Stojadinovic > Assignee: Ashish K Singh > Fix For: 0.10.1.0 > > > Although I've seen this issue pop around the internet in a few forms, I'm not > sure it is yet properly fixed. > When publishing to a new topic, with auto create-enabled, the java client > (0.9.0) shows this WARN message in the log, and the message is not sent > obviously: > org.apache.kafka.clients.NetworkClient - Error while fetching metadata with > correlation id 0 : {file.topic=LEADER_NOT_AVAILABLE} > In the meantime I see in the console the message that a log for partition is > created. The next messages are patched through normally, but the first one is > never sent. No exception is ever thrown, either by calling get on the future, > or with the async usage, like everything is perfect. > I notice when I leave my application blocked on the get call, in the > debugger, then the message may be processed, but with significant delay. This > is consistent with another issue I found for the python client. Also, if I > call partitionsFor previously, the topic is created and the message is sent. > But it seems silly to call it every time, just to mitigate this issue. > {code} > Future<RecordMetadata> recordMetadataFuture = producer.send(new > ProducerRecord<>(topic, key, file)); > RecordMetadata recordMetadata = recordMetadataFuture.get(30, > TimeUnit.SECONDS); > {code} > I hope I'm clear enough. > Related similar (but not same) issues: > https://issues.apache.org/jira/browse/KAFKA-1124 > https://github.com/dpkp/kafka-python/issues/150 > http://stackoverflow.com/questions/35187933/how-to-resolve-leader-not-available-kafka-error-when-trying-to-consume -- This message was sent by Atlassian JIRA (v6.3.4#6332)