You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "René Cordier (Jira)" <se...@james.apache.org> on 2019/12/12 08:07:00 UTC

[jira] [Created] (JAMES-3010) POC BlobId list in Cassandra - pre-write check

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org