Kafka
  1. Kafka
  2. KAFKA-147

kafka integration tests fail on a fresh checkout

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.7
    • Fix Version/s: 0.7
    • Component/s: None
    • Labels:
      None

      Description

      On a fresh checkout and with an empty .ivy2 and .m2 cache, if you execute ./sbt update test, the integration tests will fail with this error -

      java.lang.NoSuchMethodError: junit.framework.TestSuite.<init>([Ljava/lang/Class;)V
      at org.scalatest.junit.JUnit3Suite.run(JUnit3Suite.scala:309)
      at org.scalatest.tools.ScalaTestFramework$ScalaTestRunner.run(ScalaTestFramework.scala:40)
      at sbt.TestRunner.run(TestFramework.scala:53)
      at sbt.TestRunner.runTest$1(TestFramework.scala:67)
      at sbt.TestRunner.run(TestFramework.scala:76)
      at sbt.TestFramework$$anonfun$10$$anonfun$apply$11.runTest$2(TestFramework.scala:194)
      at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
      at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
      at sbt.NamedTestTask.run(TestFramework.scala:92)
      at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
      at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
      at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
      at sbt.impl.RunTask.doRun$1(RunTask.scala:77)
      at sbt.impl.RunTask.runTask(RunTask.scala:85)
      at sbt.impl.RunTask.sbt$impl$RunTask$$runIfNotRoot(RunTask.scala:60)
      at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
      at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
      at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
      at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
      at sbt.Control$.trapUnit(Control.scala:19)
      at sbt.Distributor$Run$Worker.run(ParallelRunner.scala:131)

      The reason being 2 versions of the junit jar on the test classpath that SBT uses to run the "test" command. The KafkaProject.scala file corrects defines one of the test dependencies to be junit-4.1, since it uses a JUnit api in some of the tests. The problem is that there is another junit jar (v3.8.1) which gets downloaded as a transitive dependency on Scala 2.8.0. The cause of the above error is an incorrect test classpath, that includes both v4.1 as well as v3.8.1.

      One of the possible fixes is to override the "testClasspath" variable in SBT to explicitly exclude junit from directories other than core/lib_managed/test

      1. KAFKA-147.patch
        938 kB
        Neha Narkhede

        Issue Links

          Activity

          Neha Narkhede created issue -
          Neha Narkhede made changes -
          Field Original Value New Value
          Link This issue is broken by KAFKA-92 [ KAFKA-92 ]
          Hide
          Neha Narkhede added a comment -

          Reverting the checkin (r1178669) for KAFKA-92 to resolve this bug.

          Show
          Neha Narkhede added a comment - Reverting the checkin (r1178669) for KAFKA-92 to resolve this bug.
          Neha Narkhede made changes -
          Attachment KAFKA-147.patch [ 12497936 ]
          Hide
          Jun Rao added a comment -

          +1. We can upgrade to sbt 10.0 later.

          Show
          Jun Rao added a comment - +1. We can upgrade to sbt 10.0 later.
          Hide
          Neha Narkhede added a comment -

          Thanks. Committed the patch

          Show
          Neha Narkhede added a comment - Thanks. Committed the patch
          Neha Narkhede made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Neha Narkhede [ nehanarkhede ]
          Fix Version/s 0.7 [ 12317243 ]
          Resolution Fixed [ 1 ]
          Tony Stevenson made changes -
          Workflow no-reopen-closed, patch-avail [ 12636370 ] Apache Kafka Workflow [ 13052442 ]
          Tony Stevenson made changes -
          Workflow Apache Kafka Workflow [ 13052442 ] no-reopen-closed, patch-avail [ 13054853 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          1d 30m 1 Neha Narkhede 06/Oct/11 01:59

            People

            • Assignee:
              Neha Narkhede
              Reporter:
              Neha Narkhede
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development