You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Andrey Turbanov (JIRA)" <ji...@apache.org> on 2019/03/21 04:40:00 UTC
[jira] [Issue Comment Deleted] (LOG4J2-2415) Lock contention in
classloader because of missing org.slf4j.ext.EventData
[ https://issues.apache.org/jira/browse/LOG4J2-2415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Turbanov updated LOG4J2-2415:
------------------------------------
Comment: was deleted
(was: I think it also should be fixed in [log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java|https://github.com/apache/logging-log4j2/blob/master/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java])
> Lock contention in classloader because of missing org.slf4j.ext.EventData
> -------------------------------------------------------------------------
>
> Key: LOG4J2-2415
> URL: https://issues.apache.org/jira/browse/LOG4J2-2415
> Project: Log4j 2
> Issue Type: Bug
> Components: SLF4J Bridge
> Affects Versions: 2.11.0
> Reporter: Andrey Turbanov
> Priority: Major
> Attachments: LOG4J2-2415.patch, screenshot-1.png
>
>
> Recently I found one of lock contention and performance problem in our application.
> As you can see it happens because we don't have {{org.slf4j.ext.EventData}} class in classpath, but slf4j bridge tries to load it on every Logger creation.
> {noformat}
> Class java.lang.ClassLoader.loadClass(java.lang.String, boolean)
> Class sun.misc.Launcher$AppClassLoader.loadClass(java.lang.String, boolean)
> Class java.lang.ClassLoader.loadClass(java.lang.String)
> Class org.apache.logging.log4j.util.LoaderUtil.loadClass(java.lang.String)
> EventDataConverter org.apache.logging.slf4j.Log4jLogger.createConverter()
> void org.apache.logging.slf4j.Log4jLogger.<init>(org.apache.logging.log4j.spi.ExtendedLogger, java.lang.String)
> Logger org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(java.lang.String, org.apache.logging.log4j.spi.LoggerContext)
> Object org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(java.lang.String, org.apache.logging.log4j.spi.LoggerContext)
> Object org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(java.lang.String)
> Logger org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(java.lang.String)
> Logger org.slf4j.LoggerFactory.getLogger(java.lang.String)
> void com.devexperts.dxcore.api.AccountGroupsCacheImpl.<init>()
> {noformat}
> !screenshot-1.png!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)