[ 
https://issues.apache.org/jira/browse/SLING-7359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dirk Rudolph updated SLING-7359:
--------------------------------
    Description: 
The DistributionEventDistributeDistributionTrigger [is listening for 
org/apache/sling/distribution/agent/package/distributed 
events|https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java#L67].
 So assuming we have a agent configured for the allowed root path /foo and 
trigger for /foo as well, the agent's successful delivery will trigger another 
distribution on the same agent. 

To circumvent that the DistributionEventDistributeDistributionTrigger should 
check the DistributionRequestHandler against the component that fired the event 
it handles and should stop propagation when the event's origin is the same 
request handler. 

  was:
The DistributionEventDistributeDistributionTrigger [is listening for 
org/apache/sling/distribution/agent/package/distributed 
events|https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java#L67].
 So assuming we have a agent configured for the allowed root path /foo and 
trigger for /foo as well, the agent's successful delivery will trigger another 
distribution on the same agent. 

To circumvent that the DistributionEventDistributeDistributionTrigger should 
check the DistributionRequestHandler against the component that fired the event 
it handles and should stop propagation when the event's origin is the same 
request handler. 

This requires the DistributionRequestHandler api to be extended by a method 
name (for example) representing the owner's name. 


> DistributionEventDistributeDistributionTrigger causes distribution loop
> -----------------------------------------------------------------------
>
>                 Key: SLING-7359
>                 URL: https://issues.apache.org/jira/browse/SLING-7359
>             Project: Sling
>          Issue Type: Bug
>          Components: Content Distribution
>    Affects Versions: Content Distribution Core 0.2.10
>            Reporter: Dirk Rudolph
>
> The DistributionEventDistributeDistributionTrigger [is listening for 
> org/apache/sling/distribution/agent/package/distributed 
> events|https://github.com/apache/sling-org-apache-sling-distribution-core/blob/master/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java#L67].
>  So assuming we have a agent configured for the allowed root path /foo and 
> trigger for /foo as well, the agent's successful delivery will trigger 
> another distribution on the same agent. 
> To circumvent that the DistributionEventDistributeDistributionTrigger should 
> check the DistributionRequestHandler against the component that fired the 
> event it handles and should stop propagation when the event's origin is the 
> same request handler. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to