[ https://issues.apache.org/jira/browse/KAFKA-6250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Gustafson resolved KAFKA-6250. ------------------------------------ Resolution: Fixed Assignee: Gavrie Philipson > Kafka Connect requires permission to create internal topics even if they exist > ------------------------------------------------------------------------------ > > Key: KAFKA-6250 > URL: https://issues.apache.org/jira/browse/KAFKA-6250 > Project: Kafka > Issue Type: Bug > Components: KafkaConnect > Affects Versions: 0.11.0.1, 1.0.0 > Reporter: Gavrie Philipson > Assignee: Gavrie Philipson > Fix For: 1.1.0 > > > When using Kafka Connect with a cluster that doesn't allow the user to create > topics (due to ACL configuration), Connect fails when trying to create its > internal topics, even if these topics already exist. > This happens specifically when using hosted [Aiven > Kafka|https://aiven.io/kafka], which does not permit creation of topics via > the Kafka Admin Client API. > The problem is that Connect tries to create the topics, and ignores some > specific errors such as topics that already exist, but not authorization > errors. > This is what happens: > {noformat} > 2017-11-21 15:57:24,176 [DistributedHerder] ERROR DistributedHerder:206 - > Uncaught exception in herder work thread, exiting: > org.apache.kafka.connect.errors.ConnectException: Error while attempting to > create/find topic(s) 'connect-offsets' > at > org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:245) > at > org.apache.kafka.connect.storage.KafkaOffsetBackingStore$1.run(KafkaOffsetBackingStore.java:99) > at > org.apache.kafka.connect.util.KafkaBasedLog.start(KafkaBasedLog.java:126) > at > org.apache.kafka.connect.storage.KafkaOffsetBackingStore.start(KafkaOffsetBackingStore.java:109) > at org.apache.kafka.connect.runtime.Worker.start(Worker.java:146) > at > org.apache.kafka.connect.runtime.AbstractHerder.startServices(AbstractHerder.java:99) > at > org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:194) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.util.concurrent.ExecutionException: > org.apache.kafka.common.errors.ClusterAuthorizationException: Cluster > authorization failed. > at > org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45) > at > org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32) > at > org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89) > at > org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:213) > at > org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:226) > ... 11 more > Caused by: org.apache.kafka.common.errors.ClusterAuthorizationException: > Cluster authorization failed. > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)