Gunnar Morling created KAFKA-7336: ------------------------------------- Summary: Kafka Connect source task when producing record with invalid topic name Key: KAFKA-7336 URL: https://issues.apache.org/jira/browse/KAFKA-7336 Project: Kafka Issue Type: Bug Components: KafkaConnect Affects Versions: 2.0.0 Reporter: Gunnar Morling
If a Kafka Connect source task returns a {{SourceRecord}} with an invalid topic name (e.g. "dbserver1.inventory.test@data"), that source task hangs (presumably indefinitely?) and doesn't continue it's polling loop. The log is flooded with this message: {code} connect_1 | 2018-08-24 08:47:29,014 WARN || [Producer clientId=producer-4] Error while fetching metadata with correlation id 833 : {dbserver1.inventory.test@data=INVALID_TOPIC_EXCEPTION} [org.apache.kafka.clients.NetworkClient] {code} The producer thread is stuck in the loop here: {code} KafkaProducer<K,V>.waitOnMetadata(String, Integer, long) line: 938 KafkaProducer<K,V>.doSend(ProducerRecord<K,V>, Callback) line: 823 KafkaProducer<K,V>.send(ProducerRecord<K,V>, Callback) line: 803 WorkerSourceTask.sendRecords() line: 318 WorkerSourceTask.execute() line: 228 WorkerSourceTask(WorkerTask).doRun() line: 175 WorkerSourceTask(WorkerTask).run() line: 219 Executors$RunnableAdapter<T>.call() line: 511 FutureTask<V>.run() line: 266 ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149 ThreadPoolExecutor$Worker.run() line: 624 Thread.run() line: 748 {code} This causes the task to remain in RUNNING state, but no further invocations of {{poll()}} are done. Of course we'll work around this and make sure to not produce records with invalid topic names, but I think the source task should transition to FAILED state in this case. -- This message was sent by Atlassian JIRA (v7.6.3#76005)