[ https://issues.apache.org/jira/browse/OAK-8530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Munteanu resolved OAK-8530. ---------------------------------- Resolution: Fixed Fixed in https://svn.apache.org/r1866895. > Ensure MBean are deregistered if the repository fails to start > -------------------------------------------------------------- > > Key: OAK-8530 > URL: https://issues.apache.org/jira/browse/OAK-8530 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core > Reporter: Robert Munteanu > Assignee: Robert Munteanu > Priority: Major > Fix For: 1.18.0 > > > When used in OSGi environments the repository service is unfortunately prone > to restarts ( see SLING-7811 for the gory details ). Besides the performance > problem, the repository typically fails to restart since MBeans that were > registered once were not deregistered. The failures happen before repository > is constructed, so there is no instance to close. > A typical stack trace is > {noformat} > 06.08.2019 09:55:03.894 *ERROR* [Apache Sling Repository Startup Thread #4] > org.apache.aries.jmx.whiteboard.MBeanHolder register: Failure registering > MBean org.apache.jackrabbit.oak.management.RepositoryManager@5e05b159 > javax.management.InstanceAlreadyExistsException: > org.apache.jackrabbit.oak:name=repository manager,type=RepositoryManagement > at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) > at > org.apache.aries.jmx.whiteboard.MBeanHolder.register(MBeanHolder.java:114) > at > org.apache.aries.jmx.whiteboard.JmxWhiteboardSupport.registerMBean(JmxWhiteboardSupport.java:88) > at > org.apache.aries.jmx.whiteboard.Activator$MBeanTracker.addingService(Activator.java:102) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943) > at > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:871) > at > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) > at > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903) > at > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990) > at > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > at > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4833) > at org.apache.felix.framework.Felix.registerService(Felix.java:3804) > at > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328) > at > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:302) > at > org.apache.jackrabbit.oak.osgi.OsgiWhiteboard.register(OsgiWhiteboard.java:79) > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:115) > [org.apache.jackrabbit.oak-core-spi:1.18.0.SNAPSHOT] > at > org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.registerMBean(WhiteboardUtils.java:99) > [org.apache.jackrabbit.oak-core-spi:1.18.0.SNAPSHOT] > at > org.apache.jackrabbit.oak.Oak.createNewContentRepository(Oak.java:772) > [org.apache.jackrabbit.oak-core:1.18.0.SNAPSHOT] > at org.apache.jackrabbit.oak.Oak.createContentRepository(Oak.java:671) > [org.apache.jackrabbit.oak-core:1.18.0.SNAPSHOT] > at > org.apache.jackrabbit.oak.jcr.Jcr.createContentRepository(Jcr.java:376) > [org.apache.jackrabbit.oak-jcr:1.18.0.SNAPSHOT] > at > org.apache.sling.jcr.oak.server.internal.OakSlingRepositoryManager.acquireRepository(OakSlingRepositoryManager.java:152) > [org.apache.sling.jcr.oak.server:1.2.2] > at > org.apache.sling.jcr.base.AbstractSlingRepositoryManager.initializeAndRegisterRepositoryService(AbstractSlingRepositoryManager.java:481) > [org.apache.sling.jcr.base:3.0.6] > at > org.apache.sling.jcr.base.AbstractSlingRepositoryManager.access$300(AbstractSlingRepositoryManager.java:86) > [org.apache.sling.jcr.base:3.0.6] > {noformat} > I will propose a patch shortly. -- This message was sent by Atlassian Jira (v8.3.2#803003)