[ https://issues.apache.org/jira/browse/BROOKLYN-354?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aled Sage resolved BROOKLYN-354. -------------------------------- Resolution: Fixed Fix Version/s: 0.10.0 > Rebind failed (when an NingxController entity's hostname sensor was null) > ------------------------------------------------------------------------- > > Key: BROOKLYN-354 > URL: https://issues.apache.org/jira/browse/BROOKLYN-354 > Project: Brooklyn > Issue Type: Bug > Reporter: Aled Sage > Fix For: 0.10.0 > > > When restarting Brooklyn (using a version from a couple of months ago - > timestamped 20160609.1043), it failed - the log showed the exception below. > While offline, the VM for this {{NginxController}} had been terminated. > The underlying exception means that > {{entity.getAttribute(Attributes.HOSTNAME)}} was null. > This should not stop rebind from working! > {noformat} > 2016-09-29 05:29:55,496 ERROR o.a.b.l.common.BasicLauncher [main]: Subsystem > for persistence had startup error (continuing with startup): > org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: Failure > rebinding: problem rebinding entity P5hGuILY (NginxControlle > rImpl{id=P5hGuILY}): Cannot find way to access port 8000 on > NginxControllerImpl{id=P5hGuILY} from Brooklyn (no host.name) > org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: > at > org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:128) > ~[brooklyn-utils-common-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebind(RebindManagerImpl.java:513) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.ha.HighAvailabilityManagerImpl.promoteToMaster(HighAvailabilityManagerImpl.java:836) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.ha.HighAvailabilityManagerImpl.checkMaster(HighAvailabilityManagerImpl.java:810) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.ha.HighAvailabilityManagerImpl.publishAndCheck(HighAvailabilityManagerImpl.java:592) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.ha.HighAvailabilityManagerImpl.changeMode(HighAvailabilityManagerImpl.java:315) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.ha.HighAvailabilityManagerImpl.start(HighAvailabilityManagerImpl.java:255) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.launcher.common.BasicLauncher.startPersistence(BasicLauncher.java:644) > [brooklyn-launcher-common-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.launcher.common.BasicLauncher.handlePersistence(BasicLauncher.java:506) > [brooklyn-launcher-common-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.launcher.common.BasicLauncher.start(BasicLauncher.java:424) > [brooklyn-launcher-common-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at org.apache.brooklyn.cli.Main$LaunchCommand.call(Main.java:461) > [brooklyn-cli-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at org.apache.brooklyn.cli.Main$LaunchCommand.call(Main.java:196) > [brooklyn-cli-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.cli.AbstractMain.execCli(AbstractMain.java:252) > [brooklyn-cli-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.cli.AbstractMain.execCli(AbstractMain.java:244) > [brooklyn-cli-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at io.cloudsoft.amp.Main.main(Main.java:39) > [amp-launcher-3.2.1.jar:na] > Caused by: java.util.concurrent.ExecutionException: > org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: Failure > rebinding: problem rebinding entity P5hGuILY > (NginxControllerImpl{id=P5hGuILY}): Cannot find way to access port 8000 on > NginxControllerImpl{id=P5h > GuILY} from Brooklyn (no host.name) > at java.util.concurrent.FutureTask.report(FutureTask.java:122) > ~[na:1.7.0_75] > at java.util.concurrent.FutureTask.get(FutureTask.java:188) > ~[na:1.7.0_75] > at > com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) > ~[guava-16.0.1.jar:na] > at > org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebind(RebindManagerImpl.java:511) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > ... 13 common frames omitted > org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: Failure > rebinding: problem rebinding entity P5hGuILY > (NginxControllerImpl{id=P5hGuILY}): Cannot find way to access port 8000 on > NginxControllerImpl{id=P5hGuILY} from Brooklyn (no host.name) > at > org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:386) > ~[brooklyn-utils-common-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onDoneImpl(RebindExceptionHandlerImpl.java:497) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onDone(RebindExceptionHandlerImpl.java:413) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:267) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:558) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:508) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:506) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > ~[na:1.7.0_75] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > ~[na:1.7.0_75] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > ~[na:1.7.0_75] > at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_75] > Caused by: java.lang.IllegalStateException: problem rebinding entity P5hGuILY > (NginxControllerImpl{id=P5hGuILY}) > at > org.apache.brooklyn.core.mgmt.rebind.RebindExceptionHandlerImpl.onRebindFailed(RebindExceptionHandlerImpl.java:304) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.BasicEntityRebindSupport.addFeeds(BasicEntityRebindSupport.java:172) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.BasicEntityRebindSupport.addFeeds(BasicEntityRebindSupport.java:47) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindIteration.associateAdjunctsWithEntities(RebindIteration.java:650) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindIteration.doRun(RebindIteration.java:243) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.InitialFullRebindIteration.doRun(InitialFullRebindIteration.java:69) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:265) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > ... 8 common frames omitted > Caused by: java.lang.IllegalStateException: Cannot find way to access port > 8000 on NginxControllerImpl{id=P5hGuILY} from Brooklyn (no host.name) > at > org.apache.brooklyn.core.location.access.BrooklynAccessUtils.getBrooklynAccessibleAddress(BrooklynAccessUtils.java:106) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.entity.proxy.AbstractControllerImpl.inferUrl(AbstractControllerImpl.java:278) > ~[brooklyn-software-webapp-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.entity.proxy.nginx.NginxControllerImpl.access$000(NginxControllerImpl.java:67) > ~[brooklyn-software-webapp-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.entity.proxy.nginx.NginxControllerImpl$UrlInferencer.get(NginxControllerImpl.java:98) > ~[brooklyn-software-webapp-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.entity.proxy.nginx.NginxControllerImpl$UrlInferencer.get(NginxControllerImpl.java:92) > ~[brooklyn-software-webapp-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.feed.http.HttpFeed.createHttpClient(HttpFeed.java:363) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at org.apache.brooklyn.feed.http.HttpFeed.preStart(HttpFeed.java:322) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.feed.AbstractFeed.start(AbstractFeed.java:125) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > at > org.apache.brooklyn.core.mgmt.rebind.BasicEntityRebindSupport.addFeeds(BasicEntityRebindSupport.java:169) > ~[brooklyn-core-0.10.0-20160609.1043.jar:0.10.0-20160609.1043] > ... 13 common frames omitted > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)