[ 
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)

Reply via email to