You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Markus Spann (Jira)" <ji...@apache.org> on 2021/07/09 13:59:00 UTC

[jira] [Updated] (LOG4J2-3121) log4j2 config modified at run-time may trigger incomplete MBean re-initialization due to InstanceAlreadyExistsException

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

Markus Spann updated LOG4J2-3121:
---------------------------------
    Description: 
We occasionally encounter an InstanceAlreadyExistsException during log4j2 reconfiguration after update to the configuration file at run-time.

The exception can be suppressed by checking whether the MBean is registered and de-registering it first.
{noformat}
2021-07-09 14:37:37,961 Log4j2-TF-1-ConfiguratonFileWatcher-3 ERROR Could not register mbeans javax.management.InstanceAlreadyExistsException: org.apache.logging.log4j2:type=5c29bfd
 at java.management/com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:436)
 at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1855)
 at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:955)
 at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:890)
 at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320)
 at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
 at org.apache.logging.log4j.core.jmx.Server.register(Server.java:393)
 at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:168)
 at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:141)
 at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:638)
 at org.apache.logging.log4j.core.LoggerContext.onChange(LoggerContext.java:763)
 at org.apache.logging.log4j.core.util.AbstractWatcher$ReconfigurationRunnable.run(AbstractWatcher.java:93)
 at java.base/java.lang.Thread.run(Thread.java:834){noformat}

> log4j2 config modified at run-time may trigger incomplete MBean re-initialization due to InstanceAlreadyExistsException
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-3121
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-3121
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.14.1
>            Reporter: Markus Spann
>            Priority: Major
>
> We occasionally encounter an InstanceAlreadyExistsException during log4j2 reconfiguration after update to the configuration file at run-time.
> The exception can be suppressed by checking whether the MBean is registered and de-registering it first.
> {noformat}
> 2021-07-09 14:37:37,961 Log4j2-TF-1-ConfiguratonFileWatcher-3 ERROR Could not register mbeans javax.management.InstanceAlreadyExistsException: org.apache.logging.log4j2:type=5c29bfd
>  at java.management/com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:436)
>  at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1855)
>  at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:955)
>  at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:890)
>  at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320)
>  at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
>  at org.apache.logging.log4j.core.jmx.Server.register(Server.java:393)
>  at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:168)
>  at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:141)
>  at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:638)
>  at org.apache.logging.log4j.core.LoggerContext.onChange(LoggerContext.java:763)
>  at org.apache.logging.log4j.core.util.AbstractWatcher$ReconfigurationRunnable.run(AbstractWatcher.java:93)
>  at java.base/java.lang.Thread.run(Thread.java:834){noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)