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 2017/03/22 05:43:41 UTC

[jira] [Commented] (OAK-4933) Create a data store implementation that integrates with Microsoft Azure Blob Storage

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

Amit Jain commented on OAK-4933:
--------------------------------

[~rhudea] Can you please refresh the patch, all the code in the patch goes to oak-blob-cloud module with only the pom in the oak-blob-cloud-azure.

> 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
>         Attachments: OAK-4933-v2.patch, OAK-4933-v3.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)