You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Marius Petria (JIRA)" <ji...@apache.org> on 2016/03/02 14:30:18 UTC

[jira] [Comment Edited] (SLING-5578) Json rendering is using recursion for processing flat trees and causes stack overflows

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

Marius Petria edited comment on SLING-5578 at 3/2/16 1:29 PM:
--------------------------------------------------------------

This can be fixed by doing processing only at first level of recursion. [~cziegeler] [~bdelacretaz] can you please have a look?


was (Author: mpetria):
This can be fixed by doing processing only at first level of recursion.

> Json rendering is using recursion for processing flat trees and causes stack overflows
> --------------------------------------------------------------------------------------
>
>                 Key: SLING-5578
>                 URL: https://issues.apache.org/jira/browse/SLING-5578
>             Project: Sling
>          Issue Type: Bug
>          Components: Commons
>            Reporter: Marius Petria
>         Attachments: SLING-5578.diff
>
>
> {{ResourceTraversor.collectChildren}} is unnecessarily using recursion and causes stack overflows for flat trees.
> Example: for a node with 10k direct children it adds 10k calls on the stack. This should be implemented in an iterative way or at most it should do recursion only for the tree depth.
> [1] https://github.com/apache/sling/blob/7c4a53755aed1211c9af313a3973cd2543a7bbe0/bundles/commons/json/src/main/java/org/apache/sling/commons/json/sling/ResourceTraversor.java#L84



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)