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