Details
-
Story
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Split segment store persistence is a proxy layer that can be used between the SegmentMK and the actual segment store persistence. It's configured with two backends: read-only and read-write. It delegates all the read requests to the read-only backend, but any write request (eg. creating a new segment) is delegated to the read-write backend.
The main advantage is that we can have a segment store in the cloud (using the oak-segment-azure), shared amongst many Oak instances, starting dynamically. All the changes specific for a given instance are stored locally, with the TarPersistence.
The implementation remembers the state (tar file list, last journal entry) of the read-only backend during it's initialisation, so the read-only backend can be used by a different instance, as long as it only appends new segments (eg. no compaction).