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

Timothee Maret commented on SLING-10067:
----------------------------------------

Thanks [~cschneider] for starting this prototype. The idea of using Sling Jobs 
looks appropriate for this use case. There will be only one Sling Job created 
per deep distribution action which won't stress the repository. It also makes 
sense to use the built in support to report progress and cancel jobs.

The feature would leverage APIs widely available in the Sling / AEM world: 
Sling Jobs, Sling Content Distribution and Jackrabbit FileVault. It could serve 
as a better implementation for AEM "tree activation" feature for on premise and 
cloud deployments. Toward this goal, the recursive descent should only add the 
path of hierarchical nodes (node of type nt:hierarchyNode such as sling:Folder 
or AEM's cq:Page, dam:Asset types) in the multi-path distribution requests.
{quote}I plan to create the prototype in the sling whiteboard.
{quote}
Nice! I would be glad to have a look.

> Prototype for chunked deep distribution
> ---------------------------------------
>
>                 Key: SLING-10067
>                 URL: https://issues.apache.org/jira/browse/SLING-10067
>             Project: Sling
>          Issue Type: Bug
>          Components: Content Distribution
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>            Priority: Major
>
> We have a case where a tree distribution could not be applied on oak level as 
> it was too large. As we can not control how large a tree can grow we should 
> have a solution that does not depend on the size of the tree.
> I would like to create a prototype of a chunked deep distribution. It is 
> given a path to distribute and walks through the full tree of resources to 
> collect paths (breadth first).
> Then the list of paths is split into chunks of configurable size. For each 
> chunk we create a distribution with all paths of the chunk. This makes sure 
> the package size will not grow too big.
> The call should be asyncronous and it should be possible to monitor and 
> cancel the progress of package creation. So the idea is to use a sling job 
> with JobExecutor interface. This way the job can report progress and react to 
> cancel requests.
> I plan to create the prototype in the sling whiteboard. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to