brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BROOKLYN-278) default Propagator enricher can cause infinite subscription event loop
Date Fri, 27 May 2016 11:04:12 GMT

    [ https://issues.apache.org/jira/browse/BROOKLYN-278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303934#comment-15303934
] 

ASF GitHub Bot commented on BROOKLYN-278:
-----------------------------------------

Github user sjcorbett commented on the pull request:

    https://github.com/apache/brooklyn-server/pull/154#issuecomment-222119849
  
    @aledsage This seems to break `EnrichersSlightlySimplerYamlTest.testWithAppEnricher`:
    ```
    testWithAppEnricher(org.apache.brooklyn.qa.camp.EnrichersSlightlySimplerYamlTest)  Time
elapsed: 1.235 sec  <<< FAILURE!
    org.apache.brooklyn.util.exceptions.PropagatedRuntimeException:
    	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    	at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
    	at org.apache.brooklyn.util.core.task.BasicTask.get(BasicTask.java:361)
    	at org.apache.brooklyn.util.core.task.BasicTask.getUnchecked(BasicTask.java:370)
    	at org.apache.brooklyn.core.objs.proxy.InternalEntityFactory.initEntityAndDescendants(InternalEntityFactory.java:361)
    	at org.apache.brooklyn.core.objs.proxy.InternalEntityFactory.createEntity(InternalEntityFactory.java:188)
    	at org.apache.brooklyn.core.mgmt.internal.LocalEntityManager.createEntity(LocalEntityManager.java:145)
    	at org.apache.brooklyn.camp.brooklyn.AbstractYamlTest.createAndStartApplication(AbstractYamlTest.java:128)
    	at org.apache.brooklyn.camp.brooklyn.AbstractYamlTest.createAndStartApplication(AbstractYamlTest.java:123)
    	at org.apache.brooklyn.camp.brooklyn.AbstractYamlTest.createAndStartApplication(AbstractYamlTest.java:119)
    	at org.apache.brooklyn.qa.camp.EnrichersSlightlySimplerYamlTest.testWithAppEnricher(EnrichersSlightlySimplerYamlTest.java:57)
    Caused by: java.lang.IllegalStateException: Propagator enricher Propagator{running=true,
entity=BasicApplicationImpl{id=B4jktQsQ}, id=FH9VxCyW} must have 'propagating' and/or 'sensorMapping',
or 'propagatingAll' or 'propagatingAllBut' set
    	at org.apache.brooklyn.enricher.stock.Propagator.setEntity(Propagator.java:106)
    	at org.apache.brooklyn.core.entity.AbstractEntity$BasicEnricherSupport.add(AbstractEntity.java:1746)
    	at org.apache.brooklyn.core.objs.proxy.InternalEntityFactory$1.run(InternalEntityFactory.java:344)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    	at org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:519)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:745)
    ``` 
    Will fix.


> 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
>             Fix For: 0.10.0
>
>
> 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)

Mime
View raw message