[ https://issues.apache.org/jira/browse/OAK-5179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15705855#comment-15705855 ]
Stefan Egli commented on OAK-5179: ---------------------------------- bq. I think a good rule of the thumb is that the primary node store ( Segment or Document ) should decide what descriptors are registered ok, makes sense. And I think that will work fine as indeed the clustering structure is defined by that primary node store as you pointed out. So in the non-multiplexed case the descriptors is created by eg DocumentNodeStoreService - the question then I guess is how to generalize that code such that the MultiplexingNodeStoreService can trigger that. As I think you basically want to reuse the {{DocumentDiscoveryLiteService}} > MultiplexingNodeStoreService does not register an OSGi service for > oak.api.Descriptors > -------------------------------------------------------------------------------------- > > Key: OAK-5179 > URL: https://issues.apache.org/jira/browse/OAK-5179 > Project: Jackrabbit Oak > Issue Type: Bug > Components: core > Reporter: Robert Munteanu > Fix For: 1.5.15 > > Attachments: > 0001-OAK-5179-MultiplexingNodeStoreService-does-not-regis.patch, > 0001-OAK-5179-MultiplexingNodeStoreService-does-not-regis.patch > > > When starting up Apache Sling with a MultiplexingNodeStore backend Sling's > discovery mechanism fails to read the repository descriptors. > {noformat}19.11.2016 13:43:06.101 *ERROR* > [discovery.connectors.common.runner.331bcf42-1d0d-4b53-bf1f-c7e9df060758.discoveryLiteCheck] > org.apache.sling.discovery.oak.cluster.OakClusterViewService > getLocalClusterView: repository exception: java.lang.Exception: No Descriptor > value available > java.lang.Exception: No Descriptor value available > at > org.apache.sling.discovery.commons.providers.spi.base.DiscoveryLiteDescriptor.getDescriptorFrom(DiscoveryLiteDescriptor.java:45) > at > org.apache.sling.discovery.oak.cluster.OakClusterViewService.getLocalClusterView(OakClusterViewService.java:112) > 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:217) > at > org.apache.sling.discovery.oak.pinger.OakViewChecker.access$000(OakViewChecker.java:62) > at > org.apache.sling.discovery.oak.pinger.OakViewChecker$1.run(OakViewChecker.java:193) > 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){noformat} > I noticed that these descriptors are registered as OSGi services for the > other stores - Segment ( 'old' and tar ), Document. > The MultiplexingNodeStoreService should register these as well. -- This message was sent by Atlassian JIRA (v6.3.4#6332)