You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Karl Pauls (JIRA)" <ji...@apache.org> on 2017/08/15 22:41:00 UTC

[jira] [Resolved] (FELIX-5665) High CPU usage on sun.reflect.Generated* class loads by log4j

     [ https://issues.apache.org/jira/browse/FELIX-5665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls resolved FELIX-5665.
-------------------------------
    Resolution: Fixed
      Assignee: Karl Pauls

[~aattuluri], thanks a lot for your patch! While looking over it I realised we could just cache the classloader instead of the revision and handle the miss case via a classloader that always throws an exception. 

I committed an implementation for this in r1805119 which I think should work correctly and includes your test cases. Given that I think this is the correct behaviour, I didn't include the property. In other words, this should be the standard behaviour now. Could you please try it out and see if it still works for your use-case? 

Assuming it works, please close this issue and I will try to get a new framework release out asap (eta next week) - otherwise, please reopen this issue.

> High CPU usage on sun.reflect.Generated* class loads by log4j 
> --------------------------------------------------------------
>
>                 Key: FELIX-5665
>                 URL: https://issues.apache.org/jira/browse/FELIX-5665
>             Project: Felix
>          Issue Type: Improvement
>          Components: Framework
>    Affects Versions: framework-5.6.4
>            Reporter: AnilKumar Attuluri
>            Assignee: Karl Pauls
>             Fix For: framework-5.6.8
>
>         Attachments: FELIX-5665.patch, IMG_1.jpg, IMG_2.jpg
>
>
> We have been running some performance tests to prepare our OSGi bundle (*running in Apache Karaf*) for production.
> Just to give some background about our OSGi bundle, we converted an existing Spring application into an OSGi bundle with all the current dependencies packaged into the bundle as an uber artifact.
> When we run >= 500 TPS (each of these calls results in a http call made via a library) we run into this high CPU usage spikes reaching up to 100% CPU. Please see the image attached, the spikes in the image are 100% CPU usage while the average is about 40%. Also see the CPU sampler image which points to *org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation*
> Is there an existing bug/documentation that already captures this?
> We don't see this behavior when we run the same app in standalone JVM.
>  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)