Vinod Holani created OAK-9200:
---------------------------------

             Summary: Oak BlobAccessProvider reference in UserConfigurationImpl 
fails and leads to performance issue
                 Key: OAK-9200
                 URL: https://issues.apache.org/jira/browse/OAK-9200
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: blob, documentmk
    Affects Versions: 1.22.4
            Reporter: Vinod Holani
            Assignee: Vinod Holani


Threads are stuck as below logs. The cause of this is that the Oak 
BlobAccessProvider reference in UserConfigurationImpl doesn't get initialized 
because the UserConfigurationImpl component is starting before the 
OakBlobAccessProvider 
   java.lang.Thread.State: RUNNABLE
        at 
org.apache.felix.framework.Felix.removeServiceListener(Felix.java:3684)
        at 
org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:271)
        at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:369)
        - locked <0x00007f5a3508f3b8> (a org.osgi.util.tracker.ServiceTracker)
        at 
org.apache.jackrabbit.oak.osgi.OsgiWhiteboard$3.stop(OsgiWhiteboard.java:168)
        at 
org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:194)
        at 
org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.getService(WhiteboardUtils.java:144)
        at 
org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getBlobAccessProvider(UserConfigurationImpl.java:275)
        at 
org.apache.jackrabbit.oak.security.user.UserConfigurationImpl.getUserManager(UserConfigurationImpl.java:251)
        at 
org.apache.jackrabbit.oak.security.authentication.token.TokenProviderImpl. 
(TokenProviderImpl.java:138)
        at 
org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl.getTokenProvider(TokenConfigurationImpl.java:162)
        at 
org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:46)
        at 
org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration$1.apply(CompositeTokenConfiguration.java:43)
        at 
com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:572)
        at 
java.util.AbstractList$Itr.next([email protected]/AbstractList.java:371)
        at 
org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenProvider.newInstance(CompositeTokenProvider.java:49)
        at 
org.apache.jackrabbit.oak.spi.security.authentication.token.CompositeTokenConfiguration.getTokenProvider(CompositeTokenConfiguration.java:49)
        at 
org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.getTokenProvider(TokenLoginModule.java:220)
        at 
org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule.login(TokenLoginModule.java:127)
        at 
org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52)
        at 
javax.security.auth.login.LoginContext.invoke([email protected]/LoginContext.java:726)
        at 
javax.security.auth.login.LoginContext$4.run([email protected]/LoginContext.java:665)
        at 
javax.security.auth.login.LoginContext$4.run([email protected]/LoginContext.java:663)
        at java.security.AccessController.doPrivileged([email protected]/Native 
Method)
        at 
javax.security.auth.login.LoginContext.invokePriv([email protected]/LoginContext.java:663)
        at 
javax.security.auth.login.LoginContext.login([email protected]/LoginContext.java:574)
        at 
org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:163)
        at 
org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:282)
        at 
org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:225)
        at 
org.apache.jackrabbit.oak.jcr.session.SessionImpl.impersonate(SessionImpl.java:275)
        at 
com.adobe.granite.repository.impl.CRX3SessionImpl.impersonate(CRX3SessionImpl.java:149)
        at 
org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:201)
        at 
com.adobe.granite.repository.impl.SlingRepositoryImpl.createServiceSession(SlingRepositoryImpl.java:135)
        at 
org.apache.sling.jcr.base.AbstractSlingRepository2.createServiceSession(AbstractSlingRepository2.java:171)
        at 
org.apache.sling.jcr.base.AbstractSlingRepository2.loginService(AbstractSlingRepository2.java:381)
        at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrProviderStateFactory.createProviderState(JcrProviderStateFactory.java:115)
        at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.authenticate(JcrResourceProvider.java:304)
        at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.authenticate(JcrResourceProvider.java:76)
        at 
org.apache.sling.resourceresolver.impl.providers.stateful.ProviderManager.authenticate(ProviderManager.java:161)
        at 
org.apache.sling.resourceresolver.impl.providers.stateful.ProviderManager.getOrCreateProvider(ProviderManager.java:87)
        at 
org.apache.sling.resourceresolver.impl.providers.stateful.ProviderManager.authenticateAll(ProviderManager.java:129)
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverImpl.createControl(ResourceResolverImpl.java:142)
        at org.apache.sling.resourceresolver.impl.ResourceResolverImpl. 
(ResourceResolverImpl.java:103)
        at org.apache.sling.resourceresolver.impl.ResourceResolverImpl. 
(ResourceResolverImpl.java:97)
        at 
org.apache.sling.resourceresolver.impl.CommonResourceResolverFactoryImpl.getResourceResolverInternal(CommonResourceResolverFactoryImpl.java:280)
        at 
org.apache.sling.resourceresolver.impl.ResourceResolverFactoryImpl.getServiceResourceResolver(ResourceResolverFactoryImpl.java:89)



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

Reply via email to