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 "Antoine Duprat (JIRA)" <se...@james.apache.org> on 2017/07/11 06:43:00 UTC

[jira] [Closed] (JAMES-2082) Split and Stream blobs from message

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

Antoine Duprat closed JAMES-2082.
---------------------------------

> Split and Stream blobs from message
> -----------------------------------
>
>                 Key: JAMES-2082
>                 URL: https://issues.apache.org/jira/browse/JAMES-2082
>             Project: James Server
>          Issue Type: Task
>            Reporter: Quynh Nguyen
>
> We need to optimise our Message storage.
> Currently, reading messages even with FetchType.Metadata is very inefficient, as Blob is stored with the data. This makes IMAP requests like *UID FETCH 1:\* UID* very inefficient and actually overload the cluster.
> This task should write a new CassandraMessageDaoV2 that stores streamable blobs in a separate table.
> Introduce you DAO on the top of:
>  - A new table for messages
>  - A new table for blobs
>  - A new table for blobParts
> Make CassandraMessage\*Mapper:
>  - Write to CassandraMessageDaoV2
>  - READ from CassandraMessageDaoV2 and if not found, READ from CassandraMessageDaoV1
> When reading from CassandraMessageDaoV1, you should take care to to *on the fly* migration:
>  - Read from CassandraMessageDaoV1
>  - Write in CassandraMessageDaoV2
>  - (Delete for space concerns) from CassandraMessageDaoV1



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org