Hi

Ruben and I want to setup a Sling 12 instance with a composite node store where 
/libs and /apps is in a read only repository and the rest in a read/write repo 
(general).

I tried several approaches but for now I already fail by just trying to create 
a composite node store.
This is my most promising approach:

1. Create a Segment Node Store for global

"org.apache.jackrabbit.oak.segment.SegmentNodeStoreService~global": {
  "service.ranking:Integer": "100",
  "name": "Oak-Segment-Tar",
  "repository.home": "launcher/repository-global",
  "host": "localhost"
},

2. Create a Secondary Segment Node Store using the factory:

"org.apache.jackrabbit.oak.segment.SegmentNodeStoreFactory~libs": {
  "repository.home": "launcher/repository-libs",
  "customBlobStore": false,
  "role": "composite-mount-libs",
  "nodeDeduplicationCache.size": 0
},

3. Create a Mount Info Provider for libs:

"org.apache.jackrabbit.oak.composite.MountInfoProviderService": {
  "mountName": "libs",
  "readOnlyMount": false,
  "pathsSupportingFragments": [
    "/oak:index/*$"
  ],
  "mountedPaths": [
    "/libs",
    "/apps",
    "/jcr:system/rep:permissionStore/oak:mount-libs-crx.default"
  ]
},

4. Finally create a Composite Node Store:

"org.apache.jackrabbit.oak.composite.CompositeNodeStoreService": {
  "seedMount": "libs",
  "enabled": true,
  "enableChecks": false
}

This setup fails because there is no global node store and therefore the 
composite node store is not created.

When I create a Segment Node Store Factory Service for a global node store the 
composite node store is activated but still all changes are made in the global 
node store.

When I start sling with just a global node store and then create a symbolic 
like from the global NS to the segment node store factory name (appended role)  
then Sling is not starting correctly.

Cheers - Andy

Reply via email to