Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-9200

Oak BlobAccessProvider reference in UserConfigurationImpl fails and leads to performance issue

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.22.4, 1.32.0
    • 1.22.5, 1.36.0
    • blob, documentmk
    • None

    Description

      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)

      Attachments

        1. OAK-9200.patch
          2 kB
          Vinod Holani
        2. OAK-9200_V1.patch
          5 kB
          Vinod Holani

        Activity

          People

            vholani Vinod Holani
            vholani Vinod Holani
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: