Yash Mayya created KAFKA-14569:
----------------------------------
Summary: Migrate EmbeddedKafkaCluster used by Connect integration
tests from EmbeddedZookeeper to KRaft
Key: KAFKA-14569
URL: https://issues.apache.org/jira/browse/KAFKA-14569
Project: Kafka
Issue Type: Task
Components: KafkaConnect
Reporter: Yash Mayya
Assignee: Yash Mayya
ZooKeeper mode is going to be deprecated in Apache Kafka 4.0. Connect currently
uses an
[EmbeddedKafkaCluster|https://github.com/apache/kafka/blob/b8ab09820cd96290176afd24cf7b03e7cda7f783/connect/runtime/src/test/java/org/apache/kafka/connect/util/clusters/EmbeddedKafkaCluster.java#L95]
for integration tests that depends on an
[EmbeddedZookeeper.|https://github.com/apache/kafka/blob/b8ab09820cd96290176afd24cf7b03e7cda7f783/connect/runtime/src/test/java/org/apache/kafka/connect/util/clusters/EmbeddedKafkaCluster.java#L147]
This should be migrated to remove the ZooKeeper dependency, instead working in
the KRaft mode (probably with co-located brokers and controllers). We could
potentially leverage the existing test kit for KRaft clusters
([https://github.com/apache/kafka/tree/b8ab09820cd96290176afd24cf7b03e7cda7f783/core/src/test/java/kafka/testkit)]
which handles a bunch of stuff including the listeners configuration setup,
formatting the metadata log directory, allowing usage of non-static random
ports for `controller.quorum.voters`, initialization of the shared server(s),
broker(s), and controller(s) etc.
One more thing to note is that some Connect integration tests currently use the
`kafka.security.authorizer.AclAuthorizer` which requires ZooKeeper. These tests
should be migrated to use the new authorizer from
[KIP-801|https://cwiki.apache.org/confluence/display/KAFKA/KIP-801%3A+Implement+an+Authorizer+that+stores+metadata+in+__cluster_metadata]
if we want to completely eliminate the dependency on ZooKeeper.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)