Skip to content

Refactor CCKafkaClientsIntegrationTestHarness and dependent classes.#2337

Open
kyguy wants to merge 1 commit intolinkedin:mainfrom
kyguy:test-containers-migration-4
Open

Refactor CCKafkaClientsIntegrationTestHarness and dependent classes.#2337
kyguy wants to merge 1 commit intolinkedin:mainfrom
kyguy:test-containers-migration-4

Conversation

@kyguy
Copy link
Contributor

@kyguy kyguy commented Dec 1, 2025

Summary

  1. Why: This PR is the fourth iteration of the TestContainers migration following the initial migration Migrate CruiseControlMetricsReporterTest to TestContainers #2303 in effort to remove the Cruise Control tests dependence on internal Kafka APIs. As detailed in issue Migrate off internal Kafka APIs to Improve Compatibility and Maintainability Migrate off internal Kafka APIs to Improve Compatibility and Maintainability #2282, the existing Cruise Control tests rely on the Kafka server wrapper class, CCEmbeddedBroker, which uses several non-public Kafka APIs. These internal APIs lack stability and compatibility guarantees, making it increasingly difficult to upgrade Kafka versions. As Kafka evolves, this reliance introduces upgrade friction, version lock-in, and a growing maintenance burden.

  2. What: This PR is the next step of the TestContainers migration following this Migrate CruiseControlMetricsReporterTest to TestContainers #2303. It refactors the CCKafkaClientsIntegrationTestHarness and dependent classes to replace the dependency on the CCEmbeddedBroker class with the TestContainers Kafka module instead. This helps future-proof Cruise Control by easing upgrades to newer Kafka versions, expanding Kafka versions compatibility, and reducing the ongoing maintenance overhead.

Categorization

  • documentation
  • bugfix
  • new feature
  • refactor
  • security/CVE
  • other

This PR partially resolves #2282.

Signed-off-by: Kyle Liberti <kliberti.us@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate off internal Kafka APIs to Improve Compatibility and Maintainability

1 participant