Thomas Mueller created OAK-1556:
-----------------------------------

             Summary: Document and test additional BlobStore contracts
                 Key: OAK-1556
                 URL: https://issues.apache.org/jira/browse/OAK-1556
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: core
            Reporter: Thomas Mueller
            Assignee: Thomas Mueller
            Priority: Minor
             Fix For: 1.0


The original BlobStore implementations support an additional contract, which is 
tested, but so far the applications can't rely on. The contract is that 
concatenating multiple blobIds is a valid blobId, and means the binaries are 
concatenated. The use cases are to support partial and concurrent uploads / 
transfers. Depending on the backend, this can speed up transfers quite a bit. 
Also, it allows new use cases, for example "resume upload" without having to 
re-upload or stream the existing binary. 

The DataStore implementations don't support those use cases. Now, with the 
DataStoreBlobStore compatibility wrapper, this contract can't be supported by 
all BlobStore implementations. That's fine. However, the tests against the 
other BlobStores should still test this contract.

I will add a new marker interface "ChunkingBlobStore" so the unit tests can 
verify the contract.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to