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 "Amit Jain (JIRA)" <ji...@apache.org> on 2018/04/05 11:01:00 UTC

[jira] [Commented] (OAK-7083) CompositeDataStore - ReadOnly/ReadWrite Delegate Support

    [ https://issues.apache.org/jira/browse/OAK-7083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16426750#comment-16426750 ] 

Amit Jain commented on OAK-7083:
--------------------------------

[~mattvryan]
{quote}The way I was thinking this would be done was to extend the capability of the BlobOptions class so we could pass the encoded data store id along to the delegate during addRecord(). However, this requires that the delegate implement TypedDataStore which OakFileDataStore does not implement.
{quote}
Rather than passing an id to the delegate what should be done is to take the id returned by the delegate and then encode whatever information is to be encoded as I don't think the delegates need to know or would make use of the info to be encoded. You can take a look at how the length is encoded currently in the DataStoreBlobStore after the id is returned from the delegate DataStore [1].

[1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java#L657

> CompositeDataStore - ReadOnly/ReadWrite Delegate Support
> --------------------------------------------------------
>
>                 Key: OAK-7083
>                 URL: https://issues.apache.org/jira/browse/OAK-7083
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: blob, blob-cloud, blob-cloud-azure, blob-plugins
>            Reporter: Matt Ryan
>            Assignee: Matt Ryan
>            Priority: Major
>
> Support a specific composite data store use case, which is the following:
> * One instance uses no composite data store, but instead is using a single standard Oak data store (e.g. FileDataStore)
> * Another instance is created by snapshotting the first instance node store, and then uses a composite data store to refer to the first instance's data store read-only, and refers to a second data store as a writable data store
> One way this can be used is in creating a test or staging instance from a production instance.  At creation, the test instance will look like production, but any changes made to the test instance do not affect production.  The test instance can be quickly created from production by cloning only the node store, and not requiring a copy of all the data in the data store.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)