[
https://issues.apache.org/jira/browse/SLING-7517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Seifert closed SLING-7517.
---------------------------------
> Memory Leak for "fake" Request objects in ModelAdapterFactory with
> interface-based models
> -----------------------------------------------------------------------------------------
>
> Key: SLING-7517
> URL: https://issues.apache.org/jira/browse/SLING-7517
> Project: Sling
> Issue Type: Bug
> Components: Extensions
> Affects Versions: Sling Models Impl 1.4.6
> Reporter: Justin Edelson
> Assignee: Justin Edelson
> Priority: Critical
> Fix For: Sling Models Impl 1.4.8
>
>
> The functionality added in SLING-5668 to dispose of OSGi services (or
> anything else needing disposal when creating a Sling Model object) based on
> the ServletRequest lifecycle only works if the ServletRequest object was
> actually created by the ServletContext. In some cases, applications make
> construct "fake" request object (primarily for use with
> SlingRequestProcessor). In these cases, since the ServletContext didn't
> create these requests, it won't call the requestDestroyed method when they
> are complete.
>
> The easiest way to resolve this is to only apply the special behavior in
> SLING-5668 to request objects actually created by the ServletContext and use
> the general-purpose ReferenceQueue method for all other requests (and all
> other adaptables).
>
> The fix in SLING-7470 was incomplete and only addressed class-based models.
> Interface-based models were not fixed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)