Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
Description
In order to run compatibility tests with an 0.8.2 producer, and using VerifiableProducer, we use the 0.8.2 kafka-run-tools.sh classpath augmented by the 0.9.0 tools and tools dependencies classpaths.
Recently, some refactoring efforts moved ThroughputThrottler to org.apache.kafka.common.utils package, but this breaks the existing compatibility tests:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/common/utils/ThroughputThrottler at org.apache.kafka.tools.VerifiableProducer.main(VerifiableProducer.java:334) Caused by: java.lang.ClassNotFoundException: org.apache.kafka.common.utils.ThroughputThrottler at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 1 more
Given the need to be able to run VerifiableProducer against 0.8.X, I'm not sure VerifiableProducer can depend on org.apache.kafka.common.utils at this point in time.
Attachments
Issue Links
- is related to
-
KAFKA-14760 Move ThroughputThrottler, break connect-runtime dependency on tools
- Resolved