[
https://issues.apache.org/jira/browse/SLING-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668058#action_12668058
]
Felix Meschberger commented on SLING-601:
-----------------------------------------
Fixed integration tests to check for the new RecursionTooDeepException in Rev.
738520.
> Request Inclusion Counter operating too rigid
> ---------------------------------------------
>
> Key: SLING-601
> URL: https://issues.apache.org/jira/browse/SLING-601
> Project: Sling
> Issue Type: Bug
> Components: Engine
> Affects Versions: Engine 2.0.2
> Reporter: Felix Meschberger
> Assignee: Felix Meschberger
> Fix For: Engine 2.0.4
>
>
> The SlingMainServlet implements a recursion level counter to prevent
> recursions going too deep in the checkRecursionLevel method. What this method
> does is incrementing a counter stored as a request attribute everytime
> RequestDispatcher.include is called (by whatever means).
> The drawback of this mechanism is, that the counter is only incremented and
> never decremented after an inclusion returns. This in fact is not a recursion
> level counter but a counter limiting the number of times
> RequestDispatcher.include may be called. Another drawback of this is, that
> the implementation is overcomplicated, because the RequestData object created
> for each request keeps a stack of a inclusions and hence could easily
> implement a real recursion level checker by just checking the size of the
> stack.
> I think, we should drop the SlingMainServlet.checkRecursionLevel method
> altogether and replace it with a new RequestData.checkAbort method which
> throws in case any of two cases occurrs:
> * Recursion Level is too deep (50 seems like useful)
> * Number of includes exceeds a given number (something like 1000 or more ?)
> In addition the Exception should be made public in the Sling engine module
> such that users of any include mechanism could handle it if need be.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.