felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "AnilKumar Attuluri (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5665) High CPU usage on sun.reflect.Generated* class loads by log4j
Date Mon, 14 Aug 2017 04:49:00 GMT

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

AnilKumar Attuluri commented on FELIX-5665:

I have updated my current pull request with the new implementation.

The only deviation was to use a separate *Set* data structure (m_accessorFailedLookupCache)
to cache results of #3 (class not found). The reason was the ConcurrentHashMap doesn't allow
null values so it cannot be used to keep track of #3 along with #2 (store bundle revision)
and #1 (store current bundle's revision). Rest of the implementation is exactly as mentioned
above. Added test cases for all the three different use cases.

> 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
>             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
> 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