Description
Currently there is only one dependency on the `tools` module, `connect-runtime`.
This dependency is only for one class, the ThroughputThrottler. This class is used by:
1. tools main ProducerPerformance
2. tools main VerifiableProducer
3. runtime main SchemaSourceConnector
4. runtime main VerifiableSourceConnector
5. runtime test MonitorableSourceConnector
For KAFKA-14627, I want to be able to have `tools` (test) depend on `connect-runtime` (test). This is because we are adding a connect-specific command-line utility, and wish to re-use some of the existing connect test infrastructure to unit test the new command-line utility. Unfortunately naively adding this new dependency to tools causes a circular dependency that prevents the project from building.
Instead of refactoring the connect-specific test utilities out to a new package that both runtime and tools can depend on, it appears to make more sense to move the more generic `ThroughputThrottler` class into some common package.
This common package could be:
1. clients
2. server common
3. some other existing package which would be a new dependency for tools
4. a new package consisting of just the `ThroughputThrottler` class
I'm not sure which one of these makes the most sense, and would appreciate guidance on what would make the most sense for ownership and maintenance.
Attachments
Issue Links
- blocks
-
KAFKA-15030 Add connect-plugin-path command line tool
- Resolved
- is required by
-
KAFKA-14627 Modernize Connect plugin discovery
- Resolved
- relates to
-
KAFKA-17857 Move AbstractResetIntegrationTest and subclasses to tools
- Resolved
-
KAFKA-2807 Movement of throughput throttler to common broke upgrade tests
- Resolved
-
KAFKA-2752 Add clean bounce system test for distributed Copycat
- Resolved
-
KAFKA-15239 producerPerformance system test for old client failed after v3.5.0
- Resolved
-
KAFKA-14762 Remove 0_8_2_LATEST from rolling upgrade system test
- Open
-
KAFKA-14759 Move test-only connectors from connect-runtime to test-specific module
- Resolved
- links to