[ https://issues.apache.org/jira/browse/KAFKA-2807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15002638#comment-15002638 ]
ASF GitHub Bot commented on KAFKA-2807: --------------------------------------- GitHub user ewencp opened a pull request: https://github.com/apache/kafka/pull/512 KAFKA-2807: Fix Kafka Connect packaging and move VerifiableSource/Sink into runtime jar. Gradle does not handle subprojects with the same name (top-level tools vs connect/tools) properly, making the dependency impossible to express correctly since we need to move the ThroughputThrottler class into the top level tools project. Moving the current set of tools into the runtime jar works fine since they are only used for system tests at the moment. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ewencp/kafka kafka-2807-redux Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/512.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #512 ---- commit 7632c27cb5583d285aa66a9d2bf0510139666b41 Author: Ewen Cheslack-Postava <m...@ewencp.org> Date: 2015-11-12T18:25:33Z KAFKA-2807: Fix Kafka Connect packaging and move VerifiableSource/Sink into runtime jar. Gradle does not handle subprojects with the same name (top-level tools vs connect/tools) properly, making the dependency impossible to express correctly since we need to move the ThroughputThrottler class into the top level tools project. Moving the current set of tools into the runtime jar works fine since they are only used for system tests at the moment. ---- > Movement of throughput throttler to common broke upgrade tests > -------------------------------------------------------------- > > Key: KAFKA-2807 > URL: https://issues.apache.org/jira/browse/KAFKA-2807 > Project: Kafka > Issue Type: Bug > Reporter: Geoff Anderson > Assignee: Ewen Cheslack-Postava > Priority: Blocker > Fix For: 0.9.1.0 > > > 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: > {code} > 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 > {code} > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)