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)