You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Sam Corbett (JIRA)" <ji...@apache.org> on 2016/11/17 20:49:59 UTC

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

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

Sam Corbett commented on BROOKLYN-396:
--------------------------------------

Here is a test case that demonstrates the error:
{code}
package org.apache.brooklyn.entity;

import org.apache.brooklyn.api.entity.EntitySpec;
import org.apache.brooklyn.core.entity.Attributes;
import org.apache.brooklyn.core.entity.Entities;
import org.apache.brooklyn.core.entity.EntityAsserts;
import org.apache.brooklyn.core.entity.lifecycle.Lifecycle;
import org.apache.brooklyn.core.mgmt.rebind.RebindOptions;
import org.apache.brooklyn.core.mgmt.rebind.RebindTestFixtureWithApp;
import org.apache.brooklyn.entity.group.DynamicCluster;
import org.apache.brooklyn.entity.software.base.EmptySoftwareProcess;
import org.testng.annotations.Test;

import com.google.common.collect.ImmutableList;

public class DynamicClusterRebindTest extends RebindTestFixtureWithApp {

    @Test(groups = "Integration")
    public void testResizeAfterRebind() throws Exception {
        DynamicCluster cluster = app().createAndManageChild(EntitySpec.create(DynamicCluster.class)
                .configure(DynamicCluster.INITIAL_SIZE, 3)
                .configure(DynamicCluster.MEMBER_SPEC, EntitySpec.create(EmptySoftwareProcess.class)));
        app().start(ImmutableList.of(app().newLocalhostProvisioningLocation()));
        EntityAsserts.assertAttributeEquals(cluster, DynamicCluster.GROUP_SIZE, 3);

        rebind(RebindOptions.create().terminateOrigManagementContext(true));
        cluster = Entities.descendants(newApp, DynamicCluster.class).iterator().next();
        cluster.resize(5);
        EntityAsserts.assertAttributeEqualsEventually(cluster, DynamicCluster.GROUP_SIZE, 5);
        EntityAsserts.assertAttributeEquals(cluster, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING);
    }

}
{code}

> 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 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown Source) ~[na:na]
> 	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) ~[org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.apache.brooklyn.util.groovy.GroovyJavaMethods.invokeMethodOnMetaClass(GroovyJavaMethods.java:191) ~[org.apache.brooklyn-brooklyn-utils-groovy-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodLocal(AbstractManagementContext.java:319) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:343) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 10 common frames omitted
> Caused by: java.util.concurrent.ExecutionException: org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}: StackOverflowError
> 	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_05]
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_05]
> 	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[com.google.guava-guava-16.0.1.jar:na]
> 	at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.group.DynamicClusterImpl.waitForTasksOnEntityStart(DynamicClusterImpl.java:901) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:837) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 29 common frames omitted
> Caused by: org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking start at VanillaSoftwareProcessImpl{id=z6fexc5q02}
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException.propagate(EffectorUtils.java:318) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException.access$100(EffectorUtils.java:285) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils.handleEffectorException(EffectorUtils.java:326) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$2.handleException(EffectorTasks.java:90) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.DynamicSequentialTask.handleException(DynamicSequentialTask.java:469) ~[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:417) [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 5 common frames omitted
> Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> 	at org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:129) ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:372) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.Tasks$2.get(Tasks.java:293) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.preStartAtMachineAsync(MachineLifecycleEffectorTasks.java:448) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.startInLocation(MachineLifecycleEffectorTasks.java:365) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.startInLocations(MachineLifecycleEffectorTasks.java:350) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.start(MachineLifecycleEffectorTasks.java:339) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$StartEffectorBody.call(MachineLifecycleEffectorTasks.java:240) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$StartEffectorBody.call(MachineLifecycleEffectorTasks.java:227) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$1.call(EffectorTasks.java:82) ~[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]
> 	... 5 common frames omitted
> Caused by: java.util.concurrent.ExecutionException: java.lang.StackOverflowError
> 	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_05]
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_05]
> 	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[com.google.guava-guava-16.0.1.jar:na]
> 	at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:370) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 14 common frames omitted
> java.lang.StackOverflowError: null
> 	at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) ~[na:1.8.0_05]
> 	at org.apache.brooklyn.core.objs.BrooklynDynamicType.getConfigKey(BrooklynDynamicType.java:127) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.location.internal.LocationConfigMap.getKeyAtContainerImpl(LocationConfigMap.java:110) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.location.internal.LocationConfigMap.getKeyAtContainerImpl(LocationConfigMap.java:46) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl.getKeyAtContainer(AbstractConfigMapImpl.java:283) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl$1.apply(AbstractConfigMapImpl.java:332) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl$1.apply(AbstractConfigMapImpl.java:329) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AncestorContainerAndKeyValueIterator.next(AncestorContainerAndKeyValueIterator.java:59) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AncestorContainerAndKeyValueIterator.next(AncestorContainerAndKeyValueIterator.java:30) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.config.ConfigInheritances.resolveInheriting(ConfigInheritances.java:82) ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.config.ConfigInheritances.resolveInheriting(ConfigInheritances.java:68) ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl.getConfigImpl(AbstractConfigMapImpl.java:374) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.config.internal.AbstractConfigMapImpl.getConfigInheritedRaw(AbstractConfigMapImpl.java:434) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.objs.AbstractConfigurationSupportInternal.getRaw(AbstractConfigurationSupportInternal.java:202) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.location.ssh.SshMachineLocation.getPort(SshMachineLocation.java:581) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.location.ssh.SshMachineLocation.toString(SshMachineLocation.java:956) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> ...
> {code}
> There is a {{ConcurrentModificationException}} in the log before this:
> {code}
> 2016-11-17 20:35:30,974 DEBUG o.a.b.e.g.DynamicClusterImpl [brooklyn-execmanager-PD6MDI1X-0]: Trace for: Cluster DynamicClusterImpl{id=v2q22vsw0k} failed to start entity VanillaSoftwareProcessImpl{id=jdpckfsu5f} (removing): java.util.concurrent.ExecutionException: org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking start at VanillaSoftwareProcessImpl{id=jdpckfsu5f}: ConcurrentModificationException
> java.util.concurrent.ExecutionException: org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking start at VanillaSoftwareProcessImpl{id=jdpckfsu5f}: ConcurrentModificationException
> 	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_05]
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_05]
> 	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[com.google.guava-guava-16.0.1.jar:na]
> 	at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.group.DynamicClusterImpl.waitForTasksOnEntityStart(DynamicClusterImpl.java:901) [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.group.DynamicClusterImpl.addInEachLocation(DynamicClusterImpl.java:837) [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 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at groovy.lang.MetaObjectProtocol$invokeMethod.call(Unknown Source) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) [org.codehaus.groovy-groovy-all-2.3.7.jar:2.3.7]
> 	at org.apache.brooklyn.util.groovy.GroovyJavaMethods.invokeMethodOnMetaClass(GroovyJavaMethods.java:191) [org.apache.brooklyn-brooklyn-utils-groovy-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodLocal(AbstractManagementContext.java:319) [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.AbstractManagementContext.invokeEffectorMethodSync(AbstractManagementContext.java:343) [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.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException: Error invoking start at VanillaSoftwareProcessImpl{id=jdpckfsu5f}
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException.propagate(EffectorUtils.java:318) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils$EffectorCallPropagatedRuntimeException.access$100(EffectorUtils.java:285) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.mgmt.internal.EffectorUtils.handleEffectorException(EffectorUtils.java:326) [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$2.handleException(EffectorTasks.java:90) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.DynamicSequentialTask.handleException(DynamicSequentialTask.java:469) ~[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:417) [org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 5 common frames omitted
> Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> 	at org.apache.brooklyn.util.exceptions.Exceptions.propagate(Exceptions.java:129) ~[org.apache.brooklyn-brooklyn-utils-common-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:372) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.Tasks$2.get(Tasks.java:293) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.preStartAtMachineAsync(MachineLifecycleEffectorTasks.java:448) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.startInLocation(MachineLifecycleEffectorTasks.java:365) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.startInLocations(MachineLifecycleEffectorTasks.java:350) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks.start(MachineLifecycleEffectorTasks.java:339) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$StartEffectorBody.call(MachineLifecycleEffectorTasks.java:240) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$StartEffectorBody.call(MachineLifecycleEffectorTasks.java:227) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.core.effector.EffectorTasks$EffectorBodyTaskFactory$1.call(EffectorTasks.java:82) ~[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]
> 	... 5 common frames omitted
> Caused by: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
> 	at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_05]
> 	at java.util.concurrent.FutureTask.get(FutureTask.java:192) [na:1.8.0_05]
> 	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63) ~[com.google.guava-guava-16.0.1.jar:na]
> 	at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:370) ~[org.apache.brooklyn-brooklyn-core-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 14 common frames omitted
> Caused by: java.util.ConcurrentModificationException: null
> 	at java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:711) ~[na:1.8.0_05]
> 	at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:744) ~[na:1.8.0_05]
> 	at java.util.LinkedHashMap$LinkedEntryIterator.next(LinkedHashMap.java:742) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:531) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.util.Collections$UnmodifiableMap.toString(Collections.java:1553) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.util.Collections$UnmodifiableMap.toString(Collections.java:1553) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at java.util.AbstractMap.toString(AbstractMap.java:536) ~[na:1.8.0_05]
> 	at java.lang.String.valueOf(String.java:2979) ~[na:1.8.0_05]
> 	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_05]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:426) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	at org.apache.brooklyn.entity.software.base.lifecycle.MachineLifecycleEffectorTasks$ProvisionMachineTask.call(MachineLifecycleEffectorTasks.java:390) ~[org.apache.brooklyn-brooklyn-software-base-0.10.0-SNAPSHOT.jar:0.10.0-SNAPSHOT]
> 	... 6 common frames omitted
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)