Kafka
  1. Kafka
  2. KAFKA-334

Some tests fail when building on a Windows box

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 0.7
    • Fix Version/s: 0.9.0
    • Component/s: core
    • Environment:
      Windows 7 - reproduces under command shell, cygwin, and MINGW32 (Git Bash)

      Description

      Trying to create a ZIP distro from sources failed.
      On Win7. On cygwin, command shell and git bash.
      Tried with incubator-src download from ASF download page, as well as fresh checkout from latest trunk (r1329547).
      Once I tried the same on a Linux box, everything was working ok.

      svn co http://svn.apache.org/repos/asf/incubator/kafka/trunk kafka-0.7.0
      ./sbt update (OK)
      ./sbt package (OK)
      ./sbt release-zip (FAIL)
      Tests failing:
      [error] Error running kafka.integration.LazyInitProducerTest: Test FAILED
      [error] Error running kafka.zk.ZKLoadBalanceTest: Test FAILED
      [error] Error running kafka.javaapi.producer.ProducerTest: Test FAILED
      [error] Error running kafka.producer.ProducerTest: Test FAILED
      [error] Error running test: One or more subtasks failed
      [error] Error running doc: Scaladoc generation failed
      Stacks:
      [error] Test Failed: testZKSendWithDeadBroker
      junit.framework.AssertionFailedError: Message set should have another message
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.assertTrue(Assert.java:20)
      at kafka.javaapi.producer.ProducerTest.testZKSendWithDeadBroker(ProducerTest.scala:448)
      [error] Test Failed: testZKSendToNewTopic
      junit.framework.AssertionFailedError: Message set should have 1 message
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.assertTrue(Assert.java:20)
      at kafka.javaapi.producer.ProducerTest.testZKSendToNewTopic(ProducerTest.scala:416)
      [error] Test Failed: testLoadBalance(kafka.zk.ZKLoadBalanceTest)
      junit.framework.AssertionFailedError: expected:<5> but was:<0>
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.failNotEquals(Assert.java:277)
      at junit.framework.Assert.assertEquals(Assert.java:64)
      at junit.framework.Assert.assertEquals(Assert.java:195)
      at junit.framework.Assert.assertEquals(Assert.java:201)
      at kafka.zk.ZKLoadBalanceTest.checkSetEqual(ZKLoadBalanceTest.scala:121)
      at kafka.zk.ZKLoadBalanceTest.testLoadBalance(ZKLoadBalanceTest.scala:89)
      [error] Test Failed: testPartitionedSendToNewTopic
      java.lang.AssertionError:
      Unexpected method call send("test-topic1", 0, ByteBufferMessageSet(MessageAndOffset(message(magic = 1, attributes = 0, crc = 2326977762, payload = java.nio.HeapByteBuffer[pos=0 lim=5 cap=5]),15), )):
      close(): expected: 1, actual: 0
      at org.easymock.internal.MockInvocationHandler.invoke(MockInvocationHandler.java:45)
      at org.easymock.internal.ObjectMethodsFilter.invoke(ObjectMethodsFilter.java:73)
      at org.easymock.internal.ClassProxyFactory$MockMethodInterceptor.intercept(ClassProxyFactory.java:92)
      at kafka.producer.SyncProducer$$EnhancerByCGLIB$$4385e618.send(<generated>)
      at kafka.producer.ProducerPool$$anonfun$send$1.apply$mcVI$sp(ProducerPool.scala:114)
      at kafka.producer.ProducerPool$$anonfun$send$1.apply(ProducerPool.scala:100)
      at kafka.producer.ProducerPool$$anonfun$send$1.apply(ProducerPool.scala:100)
      at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:57)
      at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:43)
      at kafka.producer.ProducerPool.send(ProducerPool.scala:100)
      at kafka.producer.Producer.zkSend(Producer.scala:137)
      at kafka.producer.Producer.send(Producer.scala:99)
      at kafka.producer.ProducerTest.testPartitionedSendToNewTopic(ProducerTest.scala:576)
      [error] Test Failed: testZKSendToNewTopic
      junit.framework.AssertionFailedError: Message set should have 1 message
      at junit.framework.Assert.fail(Assert.java:47)
      at junit.framework.Assert.assertTrue(Assert.java:20)
      at kafka.producer.ProducerTest.testZKSendToNewTopic(ProducerTest.scala:429)

        Activity

        Hide
        Guozhang Wang added a comment -

        Moving the fix to post 0.8.2 for now.

        Show
        Guozhang Wang added a comment - Moving the fix to post 0.8.2 for now.
        Hide
        Roman Garcia added a comment -

        Now the flow I described works, but doesn't look like it's running any test.
        I did:
        sbt.bat update (OK)
        sbt.bat package (OK)
        sbt.bat release-zip (OK, only "success" is printed...no tests ran)
        sbt.bat test (several tests fail)

        [error] Failed: : Total 214, Failed 22, Errors 0, Passed 192, Skipped 0
        [error] Failed tests:
        [error] kafka.log.LogManagerTest
        [error] kafka.log.LogTest
        [error] kafka.log.LogSegmentTest
        [error] kafka.log.LogCleanerIntegrationTest
        [error] kafka.integration.LazyInitProducerTest
        [error] kafka.admin.AdminTest
        [error] kafka.log.CleanerTest

        Some of the tests stack heads:
        ----------------------
        [error] Test Failed: testCleanupExpiredSegments(kafka.log.LogManagerTest)
        junit.framework.AssertionFailedError: Now there should only be only one segment in the index. expected:<1> but was:<6>
        ----------------------
        [info] Test Starting: testProduceAndMultiFetch(kafka.integration.LazyInitProducerTest)
        [error] Test Failed: testProduceAndMultiFetch(kafka.integration.LazyInitProducerTest)
        java.lang.AssertionError: expected:<List(a_test1, b_test1)> but was:<List()>
        ----------------------
        [info] Test Starting: testOpenDeletesObsoleteFiles
        [error] Test Failed: testOpenDeletesObsoleteFiles
        kafka.common.KafkaStorageException: Failed to change the log file suffix from to .deleted for log segment 0
        ----------------------
        [info] Test Starting: testChangeFileSuffixes(kafka.log.LogSegmentTest)
        [error] Test Failed: testChangeFileSuffixes(kafka.log.LogSegmentTest)
        kafka.common.KafkaStorageException: Failed to change the log file suffix from to .deleted for log segment 40
        ----------------------
        [info] Test Starting: testPartitionReassignmentWithLeaderInNewReplicas(kafka.admin.AdminTest)
        [error] Test Failed: testPartitionReassignmentWithLeaderInNewReplicas(kafka.admin.AdminTest)
        junit.framework.AssertionFailedError: null
        at junit.framework.Assert.fail(Assert.java:47)
        at junit.framework.Assert.assertTrue(Assert.java:20)
        at junit.framework.Assert.assertTrue(Assert.java:27)
        at kafka.admin.AdminTest.testPartitionReassignmentWithLeaderInNewReplicas(AdminTest.scala:167)

        Show
        Roman Garcia added a comment - Now the flow I described works, but doesn't look like it's running any test. I did: sbt.bat update (OK) sbt.bat package (OK) sbt.bat release-zip (OK, only "success" is printed...no tests ran) sbt.bat test (several tests fail) [error] Failed: : Total 214, Failed 22, Errors 0, Passed 192, Skipped 0 [error] Failed tests: [error] kafka.log.LogManagerTest [error] kafka.log.LogTest [error] kafka.log.LogSegmentTest [error] kafka.log.LogCleanerIntegrationTest [error] kafka.integration.LazyInitProducerTest [error] kafka.admin.AdminTest [error] kafka.log.CleanerTest Some of the tests stack heads: ---------------------- [error] Test Failed: testCleanupExpiredSegments(kafka.log.LogManagerTest) junit.framework.AssertionFailedError: Now there should only be only one segment in the index. expected:<1> but was:<6> ---------------------- [info] Test Starting: testProduceAndMultiFetch(kafka.integration.LazyInitProducerTest) [error] Test Failed: testProduceAndMultiFetch(kafka.integration.LazyInitProducerTest) java.lang.AssertionError: expected:<List(a_test1, b_test1)> but was:<List()> ---------------------- [info] Test Starting: testOpenDeletesObsoleteFiles [error] Test Failed: testOpenDeletesObsoleteFiles kafka.common.KafkaStorageException: Failed to change the log file suffix from to .deleted for log segment 0 ---------------------- [info] Test Starting: testChangeFileSuffixes(kafka.log.LogSegmentTest) [error] Test Failed: testChangeFileSuffixes(kafka.log.LogSegmentTest) kafka.common.KafkaStorageException: Failed to change the log file suffix from to .deleted for log segment 40 ---------------------- [info] Test Starting: testPartitionReassignmentWithLeaderInNewReplicas(kafka.admin.AdminTest) [error] Test Failed: testPartitionReassignmentWithLeaderInNewReplicas(kafka.admin.AdminTest) junit.framework.AssertionFailedError: null at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertTrue(Assert.java:27) at kafka.admin.AdminTest.testPartitionReassignmentWithLeaderInNewReplicas(AdminTest.scala:167)
        Hide
        Neha Narkhede added a comment -

        Roman Garcia Do these still fail on latest trunk?

        Show
        Neha Narkhede added a comment - Roman Garcia Do these still fail on latest trunk?
        Hide
        Roman Garcia added a comment -

        Changed to minor, as doesn't look important once binaries get distributed formally.

        Show
        Roman Garcia added a comment - Changed to minor, as doesn't look important once binaries get distributed formally.

          People

          • Assignee:
            Unassigned
            Reporter:
            Roman Garcia
          • Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:

              Development