You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Aled Sage (JIRA)" <ji...@apache.org> on 2016/07/08 23:35:11 UTC

[jira] [Commented] (BROOKLYN-272) Non-deterministic test failures in jenkins

    [ https://issues.apache.org/jira/browse/BROOKLYN-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15368719#comment-15368719 ] 

Aled Sage commented on BROOKLYN-272:
------------------------------------

Disabling {{ConfigYamlTest.testDeferredSupplierToAttributeWhenReady}} and {{ConfigYamlTest.testDeferredSupplierToAttributeWhenReadyInSpecialTypes}}.

The {{entity.config().getNonBlocking()}} can return absent. When it's called with 
a deferred supplier value, it will kick off a task and then wait just a few millis for that 
task to execute deferredSupplier.get(). If it times out, then it returns Maybe.absent. 
However, on apache jenkins the machine is often slow so the task doesn't complete in the 
given number of millis (even though deferredSupplier.get() doesn't need to block for anything).

> 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
> {noformat}
> @Test(groups={"WIP", "Non-deterministic-failure"})
> {noformat}
>  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)