[ https://issues.apache.org/jira/browse/OAK-9888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17578021#comment-17578021 ]
Julian Sedding commented on OAK-9888: ------------------------------------- [PR #663|https://github.com/apache/jackrabbit-oak/pull/663] implements the required changes. > Support more flexible SplitPersistence setups via OSGi > ------------------------------------------------------ > > Key: OAK-9888 > URL: https://issues.apache.org/jira/browse/OAK-9888 > Project: Jackrabbit Oak > Issue Type: Story > Components: segment-azure, segment-tar > Affects Versions: 1.44.0 > Reporter: Julian Sedding > Assignee: Julian Sedding > Priority: Major > > I am working on implementing a use-case where we want to use a > {{SplitPesistence}} that starts with a {{TarPersistence}} base "seed" > repository and layers its mutable storage on top using an > {{AzurePersistence}}. > Currently, in OSGi, it is only possible to configure the reverse of this > setup, i.e. an {{AzurePersistence}} as the base and a {{TarPersistence}} as > the mutable layer on top. > I propose to add a generic mechanism to configure and use a > {{SplitPersistence}} instance in the following way: > * support configuration of an optional "role" property for > {{AzureSegmentStoreService}} > * create a {{TarPersistenceService}} to allow configuring and registering a > {{TarPersistence}} instance in OSGi, also with an optional "role" property > * create a {{SplitPersistenceService}} to allow configuring and registering a > {{SplitPersistence}} instance in OSGi, also with an optional "role" property > By default the {{SplitPersistenceService}} references its read-only > persistence with the target filter "(role=split-persistence-ro)" and its > read-write persistence with the target filter "(role=split-persistence-rw)". > It registers itself with "role=split-persistence". > Finally, in order to use the {{SplitPersistence}} a > {{SegmentNodeStoreService}} (or {{SegmentNodeStoreFactory}}) can be > configured with "customSegmentStore=true" and > "segmentStore.target=(role=split-persistence)" (leveraging the feature of > OSGi Declarative Services to [configure target > filters|https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.component.html#service.component-target.property] > for references). -- This message was sent by Atlassian Jira (v8.20.10#820010)