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 "Quynh Nguyen (JIRA)" <se...@james.apache.org> on 2017/07/03 02:57:00 UTC
[jira] [Created] (JAMES-2082) Split and Stream blobs from message
Quynh Nguyen created JAMES-2082:
-----------------------------------
Summary: 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