Aled Sage created BROOKLYN-272:
----------------------------------

             Summary: Non-deterministic test failures in jenkins
                 Key: BROOKLYN-272
                 URL: https://issues.apache.org/jira/browse/BROOKLYN-272
             Project: Brooklyn
          Issue Type: Bug
            Reporter: Aled Sage


There are several non-deterministic tests that fail occasionally in the apache 
jenkins build. We should fix those tests: either the underlying bug if there is 
one, or the way to the test has been written to make it more deterministic.

Having build failures unrelated to the changes being made in a PR (and on 
master) is extremely disruptive for development. We must avoid that wherever 
possible.

I therefore suggest we disable these non-deterministic failing tests 
immediately, and use this jira issue to track fixing them. We can annotate the 
tests with {{@Test(groups={"WIP", "Non-deterministic-failure"})} to make them 
easy to find. (note the "Non-deterministic-failure" group is not used by any 
profiles, it's just there for searching purposes).

The tests I have identified from recent build failures are:

* {{BasicStartableTest.testTransitionsThroughLifecycles}} - see 
https://issues.apache.org/jira/browse/BROOKLYN-256

* {{AbstractGeoDnsServiceTest.testFiltersForRunningEntities}}, failing with:

{noformat}
    org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: failed 
succeeds-eventually, 69 attempts, 30003ms elapsed: AssertionError: 
val={R48yHLqg=<address-ignored>, eBHFc4Qd=<address-ignored>}
            at org.apache.brooklyn.test.Asserts.fail(Asserts.java:721)
            at org.apache.brooklyn.test.Asserts.assertTrue(Asserts.java:703)
            at 
org.apache.brooklyn.core.entity.EntityAsserts$2.run(EntityAsserts.java:92)
            at 
org.apache.brooklyn.test.Asserts$RunnableAdapter.call(Asserts.java:1277)
            at 
org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:930)
            at 
org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:854)
            at 
org.apache.brooklyn.core.entity.EntityAsserts.assertAttributeEventually(EntityAsserts.java:89)
            at 
org.apache.brooklyn.core.entity.EntityAsserts.assertAttributeEventually(EntityAsserts.java:84)
            at 
org.apache.brooklyn.entity.dns.AbstractGeoDnsServiceTest.testFiltersForRunningEntities(AbstractGeoDnsServiceTest.java:263)
{noformat}

* {{LoadBalancingPolicyConcurrencyTest.testConcurrentlyAddContainers}}, failing 
with:

{noformat}
    org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: failed 
succeeds-eventually, 29 attempts, 10002ms elapsed: AssertionError: 
actual=[18.0, 21.0, 19.0, 0.0, 20.0, 0.0, 20.0, 36.0, 19.0, 0.0, 19.0, 21.0, 
21.0, 19.0, 21.0, 36.0, 21.0, 19.0, 18.0, 36.0]; expected=[20.0, 20.0, 20.0, 
20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 
20.0, 20.0, 20.0, 20.0] expected [20.0] but found [0.0]
            at org.testng.Assert.fail(Assert.java:94)
            at org.testng.Assert.failNotEquals(Assert.java:494)
            at org.testng.Assert.assertEquals(Assert.java:207)
            at 
org.apache.brooklyn.policy.loadbalancing.AbstractLoadBalancingPolicyTest.assertWorkrates(AbstractLoadBalancingPolicyTest.java:122)
            at 
org.apache.brooklyn.policy.loadbalancing.AbstractLoadBalancingPolicyTest$2.run(AbstractLoadBalancingPolicyTest.java:138)
            at 
org.apache.brooklyn.test.Asserts$RunnableAdapter.call(Asserts.java:1277)
            at 
org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:930)
            at 
org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:854)
            at 
org.apache.brooklyn.policy.loadbalancing.AbstractLoadBalancingPolicyTest.assertWorkratesEventually(AbstractLoadBalancingPolicyTest.java:136)
            at 
org.apache.brooklyn.policy.loadbalancing.LoadBalancingPolicyConcurrencyTest.testConcurrentlyAddContainers(LoadBalancingPolicyConcurrencyTest.java:101)
{noformat}

* {{PollerTest.testFeedContinuesWhenPollerThrows}}, failing with:

{noformat}
    testFeedContinuesWhenPollerThrows(org.apache.brooklyn.core.feed.PollerTest) 
 Time elapsed: 3.556 sec  <<< FAILURE!
    org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: failed 
succeeds-eventually, 4 attempts, 105ms elapsed: AssertionError: 
entity=FeedExceptionEntityImpl{id=dYG0SKbP}; attribute=Sensor: flag 
(java.lang.Boolean) expected [false] but found [true]
        at org.apache.brooklyn.test.Asserts.fail(Asserts.java:721)
        at org.apache.brooklyn.test.Asserts.failNotEquals(Asserts.java:114)
        at org.apache.brooklyn.test.Asserts.assertEquals(Asserts.java:436)
        at 
org.apache.brooklyn.core.entity.EntityAsserts.assertAttributeEquals(EntityAsserts.java:54)
        at 
org.apache.brooklyn.core.entity.EntityAsserts$1.run(EntityAsserts.java:70)
        at 
org.apache.brooklyn.test.Asserts$RunnableAdapter.call(Asserts.java:1277)
        at org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:930)
        at org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:854)
        at 
org.apache.brooklyn.core.entity.EntityAsserts.assertAttributeEqualsEventually(EntityAsserts.java:67)
        at 
org.apache.brooklyn.core.feed.PollerTest.testFeedContinuesWhenPollerThrows(PollerTest.java:65)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to