[ 
https://issues.apache.org/jira/browse/BROOKLYN-357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Svetoslav Neykov updated BROOKLYN-357:
--------------------------------------
    Description: 
Entities created out of {{$brooklyn:entitySpec}} share their config and DSL 
objects in particular, blocking each other when resolving them. One entity not 
able to resolve or taking longer than usual will block the rest entities in the 
group failing our quorum strategies.

The locking happens in 
[{{BrooklynDslDeferredSupplier}}|https://github.com/apache/brooklyn-server/blob/d03f254ba19472e3fb5e0a7260cb07679991684a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/BrooklynDslDeferredSupplier.java#L111].
 The objects don't (or shouldn't) store any state as they are shared between 
entities so we can remove the locking altogether. An alternative is to clone 
the objects per entity but it won't fully solve the problem as the DSL object 
can still be shared between entities through the config inheritance hierarchy.



  was:
Entities created out of {{$brooklyn:entitySpec}} share their config and DSL 
objects in particular, blocking each other when resolving them. One entity not 
able to resolve or taking longer than usual will block the rest entities in the 
group failing our quorum strategies.

The locking happens in 
[{{BrooklynDslDeferredSupplier}}|https://github.com/apache/brooklyn-server/blob/d03f254ba19472e3fb5e0a7260cb07679991684a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/BrooklynDslDeferredSupplier.java#L111].
 The objects shouldn't store any state as they are shared between entities so 
we can remove the locking altogether. An alternative is to clone the objects 
but it won't fully solve the problem as the DSL object can still be shared 
between entities through the config inheritance hierarchy.




> $brooklyn:entitySpec entities blocking each other when resolving DSL
> --------------------------------------------------------------------
>
>                 Key: BROOKLYN-357
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-357
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Svetoslav Neykov
>
> Entities created out of {{$brooklyn:entitySpec}} share their config and DSL 
> objects in particular, blocking each other when resolving them. One entity 
> not able to resolve or taking longer than usual will block the rest entities 
> in the group failing our quorum strategies.
> The locking happens in 
> [{{BrooklynDslDeferredSupplier}}|https://github.com/apache/brooklyn-server/blob/d03f254ba19472e3fb5e0a7260cb07679991684a/camp/camp-brooklyn/src/main/java/org/apache/brooklyn/camp/brooklyn/spi/dsl/BrooklynDslDeferredSupplier.java#L111].
>  The objects don't (or shouldn't) store any state as they are shared between 
> entities so we can remove the locking altogether. An alternative is to clone 
> the objects per entity but it won't fully solve the problem as the DSL object 
> can still be shared between entities through the config inheritance hierarchy.



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

Reply via email to