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 "Trần Tiến Đức (Jira)" <se...@james.apache.org> on 2019/12/11 10:36:00 UTC
[jira] [Updated] (JAMES-3008) BlobId list in Cassandra - pre-write
check
[ https://issues.apache.org/jira/browse/JAMES-3008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Trần Tiến Đức updated JAMES-3008:
---------------------------------
Description:
Started from https://github.com/apache/james-project/blob/master/src/adr/0015-objectstorage-blobid-list.md
Introduced a `BlobIdExistantTester` API within blob-api:
{code:java}
interface BlobIdExistantTester {
Mono<Void> add(BlobId blobId);
Mono<Boolean> testExistance(BlobId blobId);
}
{code}
Create a `FakeBlobIdExistantTester` that always returs false.
Create a `CassandraBlobIdExistantTester` and the related tests.
Ensure `ObjectStorageBlobDAO`:
- 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.
was:
Introduced a `BlobIdExistantTester` API within blob-api:
{code:java}
interface BlobIdExistantTester {
Mono<Void> add(BlobId blobId);
Mono<Boolean> testExistance(BlobId blobId);
}
{code}
Create a `FakeBlobIdExistantTester` that always returs false.
Create a `CassandraBlobIdExistantTester` and the related tests.
Ensure `ObjectStorageBlobDAO`:
- 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.
> BlobId list in Cassandra - pre-write check
> ------------------------------------------
>
> Key: JAMES-3008
> URL: https://issues.apache.org/jira/browse/JAMES-3008
> Project: James Server
> Issue Type: Sub-task
> Reporter: Trần Tiến Đức
> Priority: Major
>
> Started from https://github.com/apache/james-project/blob/master/src/adr/0015-objectstorage-blobid-list.md
> Introduced a `BlobIdExistantTester` API within blob-api:
> {code:java}
> interface BlobIdExistantTester {
> Mono<Void> add(BlobId blobId);
> Mono<Boolean> testExistance(BlobId blobId);
> }
> {code}
>
> Create a `FakeBlobIdExistantTester` that always returs false.
> Create a `CassandraBlobIdExistantTester` and the related tests.
> Ensure `ObjectStorageBlobDAO`:
> - 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