felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karl Pauls (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5665) High CPU usage on org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation
Date Mon, 31 Jul 2017 09:52:01 GMT

    [ https://issues.apache.org/jira/browse/FELIX-5665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107053#comment-16107053

Karl Pauls commented on FELIX-5665:

[~aattuluri], there really isn't any fixed date. 5.7.0 is just a placeholder for future releases.
I just released 5.6.6 today and we'll do the next one (which likely is 5.6.8) when we think
we have enough to warrant a new release. For now I'm setting the fix version of this one to
5.6.8 (a.k.a, the next framework release).  

In regard to the issue, let us try to not confuse things too much. What happens is that the
sun.reflect.Generated* stuff _is_ correctly boot delegated when sun.* is inside the bootdelegation
list. However, it isn't found in the classloader set as parent (which in your case is the
classloader that loaded the framework classes). Thats why you don't see the spikes go away.
The thing is that for some reason it doesn't ask the right classloader for the classes. 

I'm guessing that the reason somehow is related to a scenario where the class instigating
the reflective method class isn't inside the same classloader as the class reflectively invoked.
Can you get me a stacktrace from the point where it does the findClassOrResourceByDelegation
(i.e., in you previous example just don't throw the ClassNotFoundException but do a Thread.dumpStack())?

> High CPU usage on org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation
> ---------------------------------------------------------------------------------------------
>                 Key: FELIX-5665
>                 URL: https://issues.apache.org/jira/browse/FELIX-5665
>             Project: Felix
>          Issue Type: Bug
>    Affects Versions: framework-5.6.4
>            Reporter: AnilKumar Attuluri
>             Fix For: framework-5.6.8
>         Attachments: 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
> 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

View raw message