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

Marius Petria commented on SLING-5578:
--------------------------------------

No problem :), just as an historical reference this issue is in Sling probably 
for a long time. The oldest reference that I could find is from 2010.

[1] 
https://github.com/apache/sling/blob/4670a41a230adc0faef1b23ca519022d94045fe4/bundles/servlets/get/src/main/java/org/apache/sling/servlets/get/impl/helpers/ResourceTraversor.java

> 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