jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Amit Jain (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-7083) CompositeDataStore - ReadOnly/ReadWrite Delegate Support
Date Thu, 05 Apr 2018 11:01:00 GMT

    [ 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:

{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.
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

View raw message