[ 
https://issues.apache.org/jira/browse/JAMES-3135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier closed JAMES-3135.
---------------------------------
    Resolution: Fixed

https://github.com/linagora/james-project/pull/3273 contributed this.

> Write a CassandraDumbBlobStoreCache
> -----------------------------------
>
>                 Key: JAMES-3135
>                 URL: https://issues.apache.org/jira/browse/JAMES-3135
>             Project: James Server
>          Issue Type: Improvement
>            Reporter: Nguyễn Việt Đức
>            Priority: Major
>
> Location: {{blob-store-cassandra}} maven project.
>  
> {{interface BlobStoreCache {   Publisher<Void> cache(BlobId blobId, byte[] 
> data);   Publisher<Void> cache(BlobId blobId, InputStream data);   
> Publisher<byte[]> read(BlobId);   Publisher<byte[]> delete(BlobId);}}}
> *DOD* Write a {{Cassandra}} implementation of it.
>  * The cache is responsible of caching only small input, below a configurable 
> threshold. Calling {{cache}} on a too big input should result in nothing 
> being stored. (default 8kb)
>  * Failure handling:
>  ** Circuit breaking: if retrieving the content takes more than 
> {{blobStore.cache.timeout}} (default to 50ms) then return empty which will 
> result in reading the main data store
>  ** Ignore errors: return empty.
> GC grace period for this table should be set to 0
> ConsistencyLevel ONE
> API + contract test + implementation
> ----
> Why a cache:
>  * We don't want to read the blobStore for small input as it comes with high 
> latency.
>  * eg headers
> Why Cassandra: distributed on disk storage without "yet another strategy"
> Limitation:
>  * Replication factor. Should we consider a dedicated 'cache' keyspace with a 
> replicationFactor of one



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to