brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svetoslav Neykov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (BROOKLYN-357) $brooklyn:entitySpec entities blocking each other when resolving DSL
Date Sat, 01 Oct 2016 09:06:20 GMT
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)

Mime
View raw message