[
https://issues.apache.org/jira/browse/SLING-5578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bertrand Delacretaz closed SLING-5578.
--------------------------------------
> 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
> Affects Versions: Commons JSON 2.0.16
> Reporter: Marius Petria
> Assignee: Bertrand Delacretaz
> Fix For: Commons JSON 2.0.18
>
> 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)