[
https://issues.apache.org/jira/browse/BROOKLYN-268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15287361#comment-15287361
]
ASF GitHub Bot commented on BROOKLYN-268:
-----------------------------------------
Github user kiuby88 commented on the pull request:
https://github.com/apache/brooklyn-server/pull/140#issuecomment-219827742
Hi @aledsage
I have tried to reproduce the issue using OS X 10.9.5, Ubuntu 14.04.3 LTS
and 12.04.05 LTS all of then with maven 3.3.9 and jdk 1.7 but I was not lucky,
I cannot reproduce the error. However, I find the issue that you mentioned in
[Jenkins'
report](https://builds.apache.org/job/brooklyn-server-pull-requests/393/) of
#141. I am a little confused because we should find the same error in the last
PRs, for example in #142 where `DynamicClusterImpl` does not include
`sensors().set(ServiceStateLogic.SERVICE_NOT_UP_INDICATORS, MutableMap.<String,
Object>of());`. WDYT? May the issue be in a different part?
In any case I have also tested this PR in the aforementioned OO.SS and it
passes all the tests. So, it could be merged.
> DynamicClusterTest.testServiceUpAfterStartingWithNoMembers failing
> ------------------------------------------------------------------
>
> Key: BROOKLYN-268
> URL: https://issues.apache.org/jira/browse/BROOKLYN-268
> Project: Brooklyn
> Issue Type: Bug
> Reporter: Aled Sage
> Priority: Minor
>
> The test {{DynamicClusterTest.testServiceUpAfterStartingWithNoMembers}} is
> failing for me locally with 0.10.0-SNAPSHOT (exception below).
> {noformat}
> FAILED: testServiceUpAfterStartingWithNoMembers
> org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: failed
> succeeds-eventually, 69 attempts, 30003ms elapsed: AssertionError:
> entity=DynamicClusterImpl{id=odZv4xRV}; attribute=Sensor: service.state
> (org.apache.brooklyn.core.entity.lifecycle.Lifecycle) expected [running] but
> found [on-fire]
> at
> org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:164)
> at
> org.apache.brooklyn.util.exceptions.Exceptions.propagateAnnotated(Exceptions.java:144)
> at org.apache.brooklyn.test.Asserts.succeedsEventually(Asserts.java:963)
> 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.entity.EntityAsserts.assertAttributeEqualsEventually(EntityAsserts.java:62)
> at
> org.apache.brooklyn.entity.group.DynamicClusterTest.testServiceUpAfterStartingWithNoMembers(DynamicClusterTest.java:172)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
> at org.testng.SuiteRunner.run(SuiteRunner.java:254)
> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
> at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
> at org.testng.TestNG.run(TestNG.java:1057)
> at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:115)
> at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:207)
> at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:178)
> Caused by: java.lang.AssertionError: entity=DynamicClusterImpl{id=odZv4xRV};
> attribute=Sensor: service.state
> (org.apache.brooklyn.core.entity.lifecycle.Lifecycle) expected [running] but
> found [on-fire]
> 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)
> ... 28 more
> {noformat}
> Running the test with logging at trace, and searching for {{service.isUp}}, I
> see the logging below:
> {noformat}
> 2016-05-17 15:14:03,135 TRACE o.a.b.c.entity.AbstractEntity
> [brooklyn-execmanager-RRpMDRbG-0]: DynamicClusterImpl{id=UQli154h}
> setAttribute Sensor: service.isUp (java.lang.Boolean) true
> 2016-05-17 15:14:03,137 TRACE o.a.b.u.c.task.ValueResolver
> [brooklyn-execmanager-RRpMDRbG-0]: ValueResolver[Object Sensor: service.isUp
> (java.lang.Boolean)] evaluated as Present[value=Sensor: service.isUp
> (java.lang.Boolean)]
> 2016-05-17 15:14:03,138 TRACE o.a.b.u.c.task.ValueResolver
> [brooklyn-execmanager-RRpMDRbG-0]: ValueResolver[Sensor Sensor: service.isUp
> (java.lang.Boolean)] evaluated as Present[value=Sensor: service.isUp
> (java.lang.Boolean)]
> 2016-05-17 15:14:03,173 DEBUG o.a.b.c.m.i.LocalSubscriptionManager [main]:
> Creating subscription iJMHeDc3 for DynamicClusterImpl{id=UQli154h} on
> DynamicClusterImpl{id=UQli154h} Sensor: service.isUp (java.lang.Boolean) in
> SubscriptionContext(huqO8)
> 2016-05-17 15:14:03,174 DEBUG o.a.b.c.m.i.LocalSubscriptionManager [main]:
> Creating subscription aSdTf34a for DynamicClusterImpl{id=UQli154h} on null
> Sensor: service.isUp (java.lang.Boolean) in SubscriptionContext(huqO8)
> 2016-05-17 15:14:03,178 TRACE o.a.b.e.s.AbstractTransformer
> [brooklyn-execmanager-RRpMDRbG-2]: Enricher
> Transformer{uniqueTag=service.isUp if no service.notUp.indicators,
> running=true, entity=DynamicClusterImpl{id=UQli154h}, id=etHYCO6U} computed
> java.lang.Object@1a0a1852 from DynamicClusterImpl{id=UQli154h}.Sensor:
> service.notUp.indicators (java.util.Map)=null @ 1463494443173
> 2016-05-17 15:14:03,178 TRACE o.a.b.c.entity.AbstractEntity
> [brooklyn-execmanager-RRpMDRbG-2]: DynamicClusterImpl{id=UQli154h}
> removeAttribute Sensor: service.isUp (java.lang.Boolean)
> 2016-05-17 15:14:03,178 DEBUG o.a.b.core.sensor.AttributeMap
> [brooklyn-execmanager-RRpMDRbG-2]: removing attribute service.isUp on
> DynamicClusterImpl{id=UQli154h}
> {noformat}
> In {{DynamicClusterImpl.initEnrichers}}, it has explicitly set service.isUp
> to true (and also UP_QUORUM_CHECK to atLeastOneUnlessEmpty, and then
> registered this enricher). But because the SERVICE_NOT_UP_INDICATORS is null
> another enricher clears the service.isUp value.
> Subsequently, when service.state.expected is set to "running", it computes
> that the cluster is on-fire because service.isUp is still null.
> {noformat}
> 2016-05-17 15:14:03,595 WARN o.a.b.c.e.l.ServiceStateLogic
> [brooklyn-execmanager-RRpMDRbG-6]: Setting DynamicClusterImpl{id=UQli154h}
> on-fire due to problems when expected running, up=null, not-up-indicators:
> null
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)