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/17 10:09:00 UTC

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

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

Vinod Holani resolved OAK-9200.
-------------------------------
    Fix Version/s: 1.36.0
                   1.22.5
       Resolution: Fixed

trunk: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/?r=1881787

1.22: https://svn.apache.org/repos/asf/jackrabbit/oak/branches/1.22/?r=1881788

> 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, 1.32.0
>            Reporter: Vinod Holani
>            Assignee: Vinod Holani
>            Priority: Major
>             Fix For: 1.22.5, 1.36.0
>
>         Attachments: OAK-9200.patch, OAK-9200_V1.patch
>
>
> 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)