[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-20 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user asfgit closed the pull request at:

https://github.com/apache/brooklyn-server/pull/447


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>Assignee: Aled Sage
> Fix For: 0.10.0
>
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.8.0_05]
>   at 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-20 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

GitHub user aledsage opened a pull request:

https://github.com/apache/brooklyn-server/pull/447

BROOKLYN-396: add Sam’s DynamicCluster rebind test



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/aledsage/brooklyn-server BROOKLYN-396-test

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/brooklyn-server/pull/447.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #447


commit 8485f8a6cd9efd7ed287f09c99be4f02398e223b
Author: Aled Sage 
Date:   2016-11-19T17:45:28Z

BROOKLYN-396: add Sam’s DynamicCluster rebind test




> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>Assignee: Aled Sage
> Fix For: 0.10.0
>
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread Aled Sage (JIRA)

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

Aled Sage commented on BROOKLYN-396:


This specific issue is resolved.

[~sjcorbett] However, thinking about the {{ConcurrentModificationException}} 
more, we should probably guard against it! We get it when iterating over all 
the state when constructing a debug string. With the {{StackOverflowError}}, it 
meant we were doing this iteration for much longer so a lot more likely to hit 
the concurrent modification. But presumably it might still happen!

> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>Assignee: Aled Sage
> Fix For: 0.10.0
>
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user asfgit closed the pull request at:

https://github.com/apache/brooklyn-server/pull/444


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.8.0_05]
>   at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_05]
>   at 
> 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user aledsage commented on the issue:

https://github.com/apache/brooklyn-server/pull/444
  
Merging now.


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.8.0_05]
>   at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_05]
>   at 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user aledsage commented on the issue:

https://github.com/apache/brooklyn-server/pull/444
  
@sjcorbett this change ensures the `origConfigs` has the right thing.

The intent of `origConfigs` is to remember the state of the location from 
before we returned it, so if a BYON gets it back and then gives it out again, 
it can reset the config to what it was originally. This means that 
`origConfigs` is a map from `MachineLocation` instance to its config map.




> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user sjcorbett commented on the issue:

https://github.com/apache/brooklyn-server/pull/444
  
@aledsage the fix looks good. The blueprint I gave in 396 resizes correctly 
after rebind. 

In the comments on the issue you wrote that "I presume the solution will be 
to improve what we store in the `origConfigs` (e.g. so that the sub-machines 
don't inherit it)." Is `origConfigs` doing the right thing? Or have we 
side-stepped it?


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

Github user aledsage commented on the issue:

https://github.com/apache/brooklyn-server/pull/444
  
It's concerning that the implementation of 
`BasicLocationRebindSupport.addConfig()` is very different from 
`BasicEntityRebindSupport` and `BasicPolicyRebindSupport`.

But I don't want to try changing that stuff now. It's one to mull over, and 
change in the future (possibly next time we're doing major work on rebind).


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on BROOKLYN-396:
-

GitHub user aledsage opened a pull request:

https://github.com/apache/brooklyn-server/pull/444

BROOKLYN-396: test and fix

When rebinding a location, if a config flag corresponds to a field
with `@SetFromFlag` then just set the field, and don’t leave the 
key-value inside `config().getBag()`.

Some classes use fields to store internal state, which should not be
passed to child locations (e.g. 
`LocalhostMachineProvisioningLocation.origConfigs`).

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/aledsage/brooklyn-server BROOKLYN-396

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/brooklyn-server/pull/444.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #444


commit 3563d4794064b2c2eecf516d7fb96c7e1556e478
Author: Aled Sage 
Date:   2016-11-18T16:07:53Z

BROOKLYN-396: test and fix

When rebinding a location, if a config flag corresponds to a field
with “@SetFromFlag” then just set the field, and don’t leave the 
key-value inside “config().getBag()”.

Some classes use fields to store internal state, which should not be
passed to child locations
(e.g. `LocalhostMachineProvisioningLocation.origConfigs`).




> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread Aled Sage (JIRA)

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

Aled Sage commented on BROOKLYN-396:


The underlying problems is that {{((SshMachineLocation) 
machine).config().getLocalBag().get("origConfigs").toString()}}. The 
origConfigs is a map, which contains a key for another SshMachineLocation and a 
value that is a map containing the same {{origConfigs}}. Hence an infinite loop 
in the map.toString().

I presume the solution will be to improve what we store in the `origConfigs` 
(e.g. so that the sub-machines don't inherit it).

> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.8.0_05]
> 

[jira] [Commented] (BROOKLYN-396) Exception resizing DynamicCluster after rebind when members use localhost

2016-11-18 Thread Sam Corbett (JIRA)

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

Sam Corbett commented on BROOKLYN-396:
--

I believe that this was broken between 0.7.0-incubating and 0.8.0-incubating.


> Exception resizing DynamicCluster after rebind when members use localhost
> -
>
> Key: BROOKLYN-396
> URL: https://issues.apache.org/jira/browse/BROOKLYN-396
> Project: Brooklyn
>  Issue Type: Bug
>Reporter: Sam Corbett
>
> A {{StackOverflowError}} is thrown when resizing {{DynamicCluster}} after 
> rebinding Brooklyn. Cluster members are VanillaSoftwareProcesses targeting 
> localhost. The error was not thrown in a test deployment to AWS EC2. Sample 
> blueprint:
> {code}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.group.DynamicCluster
>   brooklyn.config:
> memberSpec:
>   $brooklyn:entitySpec:
> type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
> brooklyn.config:
>   launch.command: sleep 3
>   stop.command: sleep 3
>   checkRunning.command: true
> initialSize: 2
> {code}
> The overflow is triggered by:
> {code}
> java.util.concurrent.ExecutionException: 
> org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 errors, 
> including: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: 
> StackOverflowError
>   at 
> org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:347)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.mgmt.internal.EffectorUtils.invokeMethodEffector(EffectorUtils.java:276)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.MethodEffector.call(MethodEffector.java:148)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector.call(AbstractEffector.java:61)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.core.effector.AbstractEffector$1$1.call(AbstractEffector.java:83)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.DynamicSequentialTask$DstJob.call(DynamicSequentialTask.java:359)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)
>  [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [na:1.8.0_05]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_05]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_05]
> Caused by: org.apache.brooklyn.util.exceptions.CompoundRuntimeException: 2 
> errors, including: Error invoking start at 
> VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:438) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:425) 
> ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:865)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.grow(DynamicClusterImpl.java:771)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resizeByDelta(DynamicClusterImpl.java:729)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at 
> org.apache.brooklyn.entity.group.DynamicClusterImpl.resize(DynamicClusterImpl.java:578)
>  ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
> ~[na:1.8.0_05]
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[na:1.8.0_05]
>   at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_05]
>   at 
>