You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Nitin Gupta (Jira)" <ji...@apache.org> on 2022/12/21 03:40:00 UTC

[jira] [Closed] (OAK-9888) Support more flexible SplitPersistence setups via OSGi

     [ https://issues.apache.org/jira/browse/OAK-9888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nitin Gupta closed OAK-9888.
----------------------------

> Support more flexible SplitPersistence setups via OSGi
> ------------------------------------------------------
>
>                 Key: OAK-9888
>                 URL: https://issues.apache.org/jira/browse/OAK-9888
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: segment-azure, segment-tar
>    Affects Versions: 1.44.0
>            Reporter: Julian Sedding
>            Assignee: Julian Sedding
>            Priority: Major
>             Fix For: 1.46.0
>
>
> 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)