Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.44.0
-
None
Description
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 for references).
Attachments
Issue Links
- links to