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-4933) Create a data store implementation that integrates with Microsoft Azure Blob Storage
Date Tue, 28 Mar 2017 07:56:41 GMT

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

Amit Jain commented on OAK-4933:

Yes, in this case releasing independently makes sense and that was my initial feeling as well.
But just to be clear that I have an understanding of a strategy to follow for future releases.
* Oak 1.8 branch is cut
* oak-blob-cloud-azure has features implemented e.g. OAK-5960 which would require changes
to this module as well as modules its dependent on
* Release a new version of oak-blob-cloud-azure corresponding to Oak 1.8

In this case it seems to me that we would be required to create a branch to support Oak 1.6
compatible changes. And we would have to ensure that the versioning scheme is continued in
that case.

> Create a data store implementation that integrates with Microsoft Azure Blob Storage
> ------------------------------------------------------------------------------------
>                 Key: OAK-4933
>                 URL: https://issues.apache.org/jira/browse/OAK-4933
>             Project: Jackrabbit Oak
>          Issue Type: Epic
>          Components: blob, core
>            Reporter: Matt Ryan
>            Assignee: Amit Jain
>             Fix For: 1.7.0, 1.8
>         Attachments: full-patch-1.6.patch, OAK-4933-v5.patch
> This epic proposes the creation of a new type of Oak data store, AzureDataStore, that
offers an integration between Oak and Microsoft Azure Blob Storage.  AzureDataStore would
be very similar in purpose and functionality to S3DataStore, with a different backend that
uses Azure Blob Storage instead of S3.
> Some initial exploration into this concept can be seen in my github here:  https://github.com/mattvryan/jackrabbit-oak/tree/azure-blob-store
> More info about Azure Blob Storage:
> * [Java SDK|https://azure.microsoft.com/en-us/documentation/articles/storage-java-how-to-use-blob-storage/]
> * [Javadoc|http://azure.github.io/azure-storage-java/]
> * [Source|https://github.com/azure/azure-storage-java] (GitHub) - Microsoft's Azure Storage
Java SDK is open source and Apache licensed
> * [Package info|https://mvnrepository.com/artifact/com.microsoft.azure/azure-storage]
on mvnrepository.com
> As I see it, the following work would be required:
> * Create an AzureDataStore class that extends CachingDataStore
> * Create a new backend for Azure Blob Storage
> * Comprehensive unit testing of the new data store and backend classes
> * Create test "mocks" for the necessary Azure Storage classes to facilitate unit testing
(they are all final classes and cannot be mocked directly)
> * Create SharedAzureDataStore class
> * Create AzureDataStoreService class
> * Implement similar JMX metrics as exist for S3DataStore
> * Combine and refactor existing Oak code with newly added code to make best reuse of
existing code, etc.
> * Integration testing with system configured with AzureDataStore, comparison w/ S3DataStore
in terms of performance and correctness
> * Modify Azure Storage SDK code to make it into a valid OSGi bundle, and submit these
changes back to that project (currently it is not an OSGi bundle and therefore currently has
to be embedded)
> List isn't purported to be comprehensive of course.

This message was sent by Atlassian JIRA

View raw message