[ https://issues.apache.org/jira/browse/OAK-4933?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amit Jain reassigned OAK-4933: ------------------------------ Assignee: Amit Jain > 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 > > > 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)