Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support both KRaft combined mode and separate controllers #176

Open
tombentley opened this issue Sep 12, 2023 · 0 comments
Open

Support both KRaft combined mode and separate controllers #176

tombentley opened this issue Sep 12, 2023 · 0 comments
Labels
enhancement New feature or request triaged

Comments

@tombentley
Copy link
Contributor

Currently the extension supports ZooKeeper mode (using @ZooKeeperCluster as the constraint annotation) and KRaft in combined mode (using @KraftCluster). It would be good to also support KRaft using separate controllers.

This could be expressed in the API in several ways. Perhaps the simplest is just to add a combinedMode attribute to @KraftCluster.

Although the API is simple the knock-on consequences are not.

  • KafkaClusterConfig has a kraftMode boolean flag that is perhaps better treated as a 3 element MetadataMode enum (of ZK, Kraft combined and Kraft separate).
  • KafkaClusterConfig has a getBrokerConfigs() that would now be more clearly called getNodeConfigs(), since not all nodes are brokers.
  • ConfigHolder has getBrokerNum() that would now be more clearly called getNodeId(), again because not all nodes are brokers.
  • KafkaCluster.getNumOfBrokers() could remain a count of the brokers (not of all the nodes), but it might also be useful to have a count of all nodes.
  • The test coverage, which already has to cope with (ZK, combined) × (in-VM, containers) would need to also cover the separate controller cases.

See discussion in #174 which led to this issue.

@tombentley tombentley added the enhancement New feature or request label Sep 12, 2023
tombentley added a commit to tombentley/kroxylicious-junit5-extension that referenced this issue Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triaged
Projects
None yet
Development

No branches or pull requests

2 participants