You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@brooklyn.apache.org by "Svetoslav Neykov (JIRA)" <ji...@apache.org> on 2016/10/01 09:06:20 UTC
[jira] [Created] (BROOKLYN-357) $brooklyn:entitySpec entities
blocking each other when resolving DSL
Svetoslav Neykov created BROOKLYN-357:
-----------------------------------------
Summary: $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 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)