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

Bertrand Delacretaz commented on SLING-5578:
--------------------------------------------

We should not have accepted that class without any tests earlier. Now it's out 
there and it's important to control any changes in its behavior, this is fairly 
core stuff. Sorry that it falls on you ;-)

> 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, SLING-5578.test.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)

Reply via email to