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)