[
https://issues.apache.org/jira/browse/BROOKLYN-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15572729#comment-15572729
]
ASF GitHub Bot commented on BROOKLYN-357:
-----------------------------------------
Github user aledsage commented on the issue:
https://github.com/apache/brooklyn-server/pull/383
This fixes https://issues.apache.org/jira/browse/BROOKLYN-357
> $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)