René Cordier created JAMES-3010:
-----------------------------------
Summary: POC BlobId list in Cassandra - pre-write check
Key: JAMES-3010
URL: https://issues.apache.org/jira/browse/JAMES-3010
Project: James Server
Issue Type: Improvement
Reporter: René Cordier
Introduce a `BlobExistenceTester` API within blob-objectstorage:
```
interface BlobIdExistantTester {
Mono<Boolean> exists(ObjectStorageBucketName bucketName, BlobId blobId);
Mono<Void> persist(ObjectStorageBucketName bucketName, BlobId blobId);
Mono<Void> delete(ObjectStorageBucketName bucketName, BlobId blobId);
Mono<Void> deleteBucket(ObjectStorageBucketName bucketName);
}
```
Create a `FakeBlobExistenceTester` that always returns false.
Create a `MemoryBlobExistenceTester` and the related tests.
Create a `CassandraBlobExistenceTester` and the related tests.
Ensure `ObjectStorageBlobStore`:
- Don't persist small blobs that already exist
- Don't attempt to rename (copy) big blobs that already exist - deleting the
intermediary blob supplied is enough - and faster.
when Cassandra is down, just store it as normal
Propose a proof of concept regarding these changes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]