[ https://issues.apache.org/jira/browse/SLING-5602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15199251#comment-15199251 ]
Carsten Ziegeler commented on SLING-5602: ----------------------------------------- [~egli] It seems due to the refactoring we lost the changes of SLING-4363, SLING-4361, and SLING-4378, which could be partially the problem we're facing. As it seems you can easily reproduce the problem, could you make remove starting the background thread at the end of activate and see if that makes a difference? The thread is not really used atm > The Discovery module does not work any more after a ResourceResolverFactory > reactivation > ---------------------------------------------------------------------------------------- > > Key: SLING-5602 > URL: https://issues.apache.org/jira/browse/SLING-5602 > Project: Sling > Issue Type: Bug > Components: ResourceResolver > Affects Versions: Resource Resolver 1.4.8 > Reporter: Radu Cotescu > Assignee: Carsten Ziegeler > Priority: Blocker > Fix For: Resource Resolver 1.5.0 > > > 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 > {noformat} > 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) > {noformat} > The Discovery module will not recover from this state. Furthermore it will > also prevent the RRF to reactivate and basically makes the instance unusable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)