[
https://issues.apache.org/jira/browse/BROOKLYN-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15296996#comment-15296996
]
ASF GitHub Bot commented on BROOKLYN-278:
-----------------------------------------
GitHub user aledsage opened a pull request:
https://github.com/apache/brooklyn-server/pull/154
BROOKLYN-278: fix Propagator validation/defaults
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/aledsage/brooklyn-server BROOKLYN-278
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/brooklyn-server/pull/154.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #154
----
commit c0fdca6e69b7c49ae6e5948639d651cc6b42c39c
Author: Aled Sage <[email protected]>
Date: 2016-05-23T20:08:08Z
BROOKLYN-278: fix Propagator validation/defaults
----
> default Propagator enricher can cause infinite subscription event loop
> ----------------------------------------------------------------------
>
> Key: BROOKLYN-278
> URL: https://issues.apache.org/jira/browse/BROOKLYN-278
> Project: Brooklyn
> Issue Type: Bug
> Affects Versions: 0.9.0
> Reporter: Aled Sage
>
> The default {{Propagator}} can cause an infinite loop: it subscribes to all
> sensor events from that entity, and republishes them!
> For example, the blueprint below demonstrates this:
> {noformat}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.stock.BasicApplication
> brooklyn.enrichers:
> - type: org.apache.brooklyn.enricher.stock.Propagator
> {noformat}
> This shows repeated log messages like:
> {noformat}
> 2016-05-23 14:09:09,069 DEBUG o.a.b.c.entity.AbstractEntity
> [brooklyn-execmanager-B5OU5RXp-6]: Emitting sensor notification
> entity.location.added value LocalhostMachineProvisioningLocation{id=U27ANQ3v,
> name=localhost} on BasicApplicationImpl{id=C8KeD18W}
> {noformat}
> I'd expect such missing propagator config to cause it to fail. Or if it was
> misconfigured to cause an infinite loop, then that would also cause a failure.
> For example, the blueprint below also produces an infinite loop and should be
> forbidden:
> {noformat}
> location: localhost
> services:
> - type: org.apache.brooklyn.entity.stock.BasicApplication
> id: app
> brooklyn.enrichers:
> - type: org.apache.brooklyn.enricher.stock.Propagator
> brooklyn.config:
> producer: $brooklyn:entity("app")
> propagatingAll: true
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)