You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Mickael Maison (Jira)" <ji...@apache.org> on 2022/11/07 10:20:00 UTC

[jira] [Resolved] (KAFKA-14344) Improve MM2 integration test by building EmbeddedKafkaCluster with common configs used for all clients

     [ https://issues.apache.org/jira/browse/KAFKA-14344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mickael Maison resolved KAFKA-14344.
------------------------------------
    Fix Version/s: 3.4.0
       Resolution: Fixed

> Improve MM2 integration test by building EmbeddedKafkaCluster with common configs used for all clients
> ------------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-14344
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14344
>             Project: Kafka
>          Issue Type: Improvement
>          Components: KafkaConnect, mirrormaker, unit tests
>            Reporter: Omnia Ibrahim
>            Assignee: Omnia Ibrahim
>            Priority: Minor
>             Fix For: 3.4.0
>
>
> Connect and MirrorMaker's integration test use `EmbeddedKafkaCluster` and `EmbeddedConnectCluster` to setup connect cluster during testing. Both classes are easy to setup if the test needs vanilla clusters, however, it's a lot of work to make it set it up with more advanced config (for example authentication and authorization) where admin, consumer and producer clients need more configuration. 
> 1. I am proposing adding extra parameter `additionalClientConfigs` to `EmbeddedKafkaCluster` constructor. The new parameter will be used
>  - Setup Producer Client in `EmbeddedKafkaCluster.doStart` which is initializing `producer` client that is used in `EmbeddedKafkaCluster.produce`
>  - Setup Producer Client in `EmbeddedKafkaCluster.createProducer` used in `EmbeddedKafkaCluster.transactionalProducer`
>  - Setup Admin Client in `EmbeddedKafkaCluster.createAdminClient` used in `EmbeddedKafkaCluster.createTopic`, `EmbeddedKafkaCluster.consumeAll`, `EmbeddedKafkaCluster.describeTopics` and `EmbeddedKafkaCluster.deleteTopic`
>  - Setup Consumer Client in `EmbeddedKafkaCluster.createConsumer` used in `EmbeddedKafkaCluster.createConsumerAndSubscribeTo` and `EmbeddedKafkaCluster.consumeAll`
> 2. And add `EmbeddedConnectCluster.Builder.additionalKafkaClusterClientConfigs`.
>  
> Tests impacted by this 
> - MirrorMaker integration tests
> - `org.apache.kafka.connect.integration.ExactlyOnceSourceIntegrationTest`



--
This message was sent by Atlassian Jira
(v8.20.10#820010)