[ https://issues.apache.org/jira/browse/BROOKLYN-325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530184#comment-15530184 ]
ASF GitHub Bot commented on BROOKLYN-325: ----------------------------------------- Github user iyovcheva commented on a diff in the pull request: https://github.com/apache/brooklyn-server/pull/356#discussion_r80962988 --- Diff: software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcessImpl.java --- @@ -440,12 +441,20 @@ public void rebind() { //Only if the expected state is ON_FIRE then the entity has permanently failed. Transition expectedState = getAttribute(SERVICE_STATE_EXPECTED); if (expectedState == null || expectedState.getState() != Lifecycle.RUNNING) { + //FIXME does not set on fire root application + if (expectedState.getState() == Lifecycle.STARTING || expectedState.getState() == Lifecycle.STOPPING) { + setAttribute(SERVICE_STATE_EXPECTED, new Lifecycle.Transition(Lifecycle.ON_FIRE, new Date())); + setAttribute(SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE); + } LOG.warn("On rebind of {}, not calling software process rebind hooks because expected state is {}", this, expectedState); return; } Lifecycle actualState = getAttribute(SERVICE_STATE_ACTUAL); if (actualState == null || actualState != Lifecycle.RUNNING) { + if (expectedState.getState() == Lifecycle.STARTING || expectedState.getState() == Lifecycle.STOPPING) { + setAttribute(SERVICE_STATE_ACTUAL, Lifecycle.ON_FIRE); + } --- End diff -- This is fixed in a separate commit, so the comment will not show as outdated. > Restarting Brooklyn while entity deploying: entity shown as deploying > indefinitely > ---------------------------------------------------------------------------------- > > Key: BROOKLYN-325 > URL: https://issues.apache.org/jira/browse/BROOKLYN-325 > Project: Brooklyn > Issue Type: Bug > Affects Versions: 0.9.0 > Reporter: Aled Sage > > When the Brooklyn server restarts while an entity is halfway through starting > or stopping, on rebind that entity continues to report its sensor as > starting/stopping. However, the task does not resume so it stays in this > state indefinitely. > To reproduce, run Brooklyn with persistence enabled, and try deploying a > blueprint like that below: > {noformat} > location: localhost > services: > - type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess > brooklyn.config: > launch.command: sleep 20 > stop.command: sleep 20 > checkRunning.command: true > {noformat} > While the app is starting, terminate the Brooklyn server and then restart it. > In the UI, the spinning icon shows that the app is still deploying. The > entity has the following sensor values: > {noformat} > service.isUp: false > service.notUp.indicators: {"service.process.isRunning":"No information on > whether this service is running"} > service.state: STARTING > service.state.expected: starting @ 1470658910966 / Mon Aug 08 13:21:50 BST > 2016 > {noformat} > Alternatively, deploy the app normally and then invoke stop. While the app is > stopping, terminate the Brooklyn server and then restart it. The entity has > the following sensor values: > {noformat} > service.process.isRunning: false > service.state: STOPPING > service.state.expected: stopping @ 1470658816662 / Mon Aug 08 13:20:16 BST > 2016 > {noformat} > Given that the task won't resume, I'd expect the entity to be marked as > having some kind of error. For example, the service.state as on-fire (but > ideally without losing the fact that it was previously stopping). -- This message was sent by Atlassian JIRA (v6.3.4#6332)