You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vinod Holani (Jira)" <ji...@apache.org> on 2020/09/08 08:40:00 UTC

[jira] [Created] (OAK-9200) Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue

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(java.base@11.0.4/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(java.base@11.0.4/LoginContext.java:726)
	at javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:665)
	at javax.security.auth.login.LoginContext$4.run(java.base@11.0.4/LoginContext.java:663)
	at java.security.AccessController.doPrivileged(java.base@11.0.4/Native Method)
	at javax.security.auth.login.LoginContext.invokePriv(java.base@11.0.4/LoginContext.java:663)
	at javax.security.auth.login.LoginContext.login(java.base@11.0.4/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)