[
https://issues.apache.org/jira/browse/BROOKLYN-357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aled Sage resolved BROOKLYN-357.
--------------------------------
Resolution: Fixed
Assignee: Svetoslav Neykov
Fix Version/s: 0.10.0
> $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
> Assignee: Svetoslav Neykov
> Fix For: 0.10.0
>
>
> 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)