Chetan Mehrotra created SLING-3360:
--------------------------------------

             Summary: Bundle to detect classloader leaks
                 Key: SLING-3360
                 URL: https://issues.apache.org/jira/browse/SLING-3360
             Project: Sling
          Issue Type: New Feature
          Components: Extensions
            Reporter: Chetan Mehrotra
            Assignee: Chetan Mehrotra


At times it can happen that bundle might leak classloader due to improper 
cleanup. This was recently discussed on DL [1].

To enable detection of such bundles we can have a bundle which 
1. Have a custom bundle listener. This would maintain some structure
around bundle
2. Use Java Phantom reference [1] to register a callback for GC of
classloader associated with the bundle. Upon gc callback we remove the
information

Then have a web console plugin which can look into the current data
structure maintained by the listener. It would then check the state
against actual active bundle and flag the suspects. And if left over a
period of time can easly mark out stale bundles which are leaking.
Should not incur any performance cost

[1] http://sling.markmail.org/thread/2wg7ijus6ib7ij5t




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to