Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
Resource Resolver 1.4.8
-
None
Description
The Discovery module does not work any more after the Resource Resolver Factory is reconfigured. To reproduce this start the latest launchpad (built from https://github.com/apache/sling/blob/c441d5b672d1952a82a1c9fe1e6d81e86cec0018/launchpad/builder/src/main/provisioning/sling.txt) and then:
- go to http://localhost:8080/system/console/configMgr/org.apache.sling.jcr.resource.internal.JcrResourceResolverFactoryImpl
- click on save (this will trigger the component's reactivation)
- check the error log
14.03.2016 16:29:57.331 *ERROR* [discovery.connectors.common.runner.7fd8d00a-802a-4367-a384-64024e28dbbc.discoveryLiteCheck] org.apache.sling.discovery.oak.cluster.OakClusterViewService getLocalClusterView: repository exception: java.lang.Exception: Could not adapt resourceResolver to session: org.apache.sling.resourceresolver.impl.ResourceResolverImpl@499d9cc9 java.lang.Exception: Could not adapt resourceResolver to session: org.apache.sling.resourceresolver.impl.ResourceResolverImpl@499d9cc9 at org.apache.sling.discovery.commons.providers.spi.base.DiscoveryLiteDescriptor.getDescriptorFrom(DiscoveryLiteDescriptor.java:41) at org.apache.sling.discovery.oak.cluster.OakClusterViewService.getLocalClusterView(OakClusterViewService.java:111) at org.apache.sling.discovery.base.commons.BaseDiscoveryService.getTopology(BaseDiscoveryService.java:77) at org.apache.sling.discovery.oak.OakDiscoveryService.checkForTopologyChange(OakDiscoveryService.java:657) at org.apache.sling.discovery.oak.pinger.OakViewChecker.discoveryLiteCheck(OakViewChecker.java:232) at org.apache.sling.discovery.oak.pinger.OakViewChecker.access$000(OakViewChecker.java:64) at org.apache.sling.discovery.oak.pinger.OakViewChecker$1.run(OakViewChecker.java:208) at org.apache.sling.discovery.base.commons.PeriodicBackgroundJob.safelyRun(PeriodicBackgroundJob.java:86) at org.apache.sling.discovery.base.commons.PeriodicBackgroundJob.run(PeriodicBackgroundJob.java:77) at java.lang.Thread.run(Thread.java:745) 14.03.2016 16:29:57.332 *INFO* [discovery.connectors.common.runner.7fd8d00a-802a-4367-a384-64024e28dbbc.discoveryLiteCheck] org.apache.sling.discovery.base.commons.BaseDiscoveryService getTopology: undefined cluster view: REPOSITORY_EXCEPTION] org.apache.sling.discovery.base.commons.UndefinedClusterViewException: Exception while processing descriptor: java.lang.Exception: Could not adapt resourceResolver to session: org.apache.sling.resourceresolver.impl.ResourceResolverImpl@499d9cc9 14.03.2016 16:29:57.332 *INFO* [discovery.connectors.common.runner.7fd8d00a-802a-4367-a384-64024e28dbbc.discoveryLiteCheck] org.apache.sling.discovery.commons.providers.base.ViewStateManagerImpl enqueueForAll: sending topologyEvent TopologyEvent [type=TOPOLOGY_CHANGING, oldView=DefaultTopologyView[current=false, num=1, instances=7fd8d00a-802a-4367-a384-64024e28dbbc[local=true,leader=true]], newView=null], to all (5) listeners 14.03.2016 16:29:57.332 *ERROR* [Discovery-AsyncEventSender] org.apache.sling.discovery.oak.TopologyWebConsolePlugin addDiscoveryLiteHistoryEntry: Exception: java.lang.Exception: Could not adapt resourceResolver to session: org.apache.sling.resourceresolver.impl.ResourceResolverImpl@149e86f0 java.lang.Exception: Could not adapt resourceResolver to session: org.apache.sling.resourceresolver.impl.ResourceResolverImpl@149e86f0 at org.apache.sling.discovery.commons.providers.spi.base.DiscoveryLiteDescriptor.getDescriptorFrom(DiscoveryLiteDescriptor.java:41) at org.apache.sling.discovery.oak.TopologyWebConsolePlugin.updateDiscoveryLiteHistory(TopologyWebConsolePlugin.java:771) at org.apache.sling.discovery.oak.TopologyWebConsolePlugin.handleTopologyEvent(TopologyWebConsolePlugin.java:722) at org.apache.sling.discovery.commons.providers.base.AsyncTopologyEvent.trigger(AsyncTopologyEvent.java:53) at org.apache.sling.discovery.commons.providers.base.AsyncEventSender.run(AsyncEventSender.java:118) at java.lang.Thread.run(Thread.java:745)
The Discovery module will not recover from this state. Furthermore it will also prevent the RRF to reactivate and basically makes the instance unusable.
Attachments
Issue Links
- is related to
-
SLING-5561 Resource Resolver Factory should be deactivated before provider is removed
- Closed
-
SLING-5580 Resource Resolver Factory is wrongly activated when zero or more than one required providers
- Closed