jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcel Reutegger (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:30:41 GMT

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

Marcel Reutegger commented on OAK-4933:
---------------------------------------

If we decide to release it independently, the new module would probably get an initial 1.0
release version. Both trunk and, if compatible, also earlier branches could then depend on
the released version of oak-blob-cloud-azure. It would be the only module we release that
way and we tried in the past with segment, which was a bit difficult. But I think oak-blob-cloud-azure
has fewer dependencies and should be easier to release independently. It would make our lives
easier, because we probably wouldn't have to backport fixes for this module. I'm OK if you
want to have the code also available in the 1.6 branch, but it just feels weird to merge a
new module to a branch quickly after it was added to trunk.

> 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
(v6.3.15#6346)

Mime
View raw message