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 "Benoit Tellier (Jira)" <se...@james.apache.org> on 2021/08/19 03:38:00 UTC

[jira] [Closed] (JAMES-3631) Migration strategy for Cassandra mailRepository

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

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

> Migration strategy for Cassandra mailRepository
> -----------------------------------------------
>
>                 Key: JAMES-3631
>                 URL: https://issues.apache.org/jira/browse/JAMES-3631
>             Project: James Server
>          Issue Type: Improvement
>          Components: cassandra, MailStore &amp; MailRepository
>    Affects Versions: master
>            Reporter: Benoit Tellier
>            Priority: Major
>             Fix For: 3.7.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h2. Context?
> The count of Cassandra table impact overall performance.
> For people collocating several James cluster on distinct Cassandra keyspace their counts can quickly add up.
> Thus sanitizing schema transitions, in addition to clean code up also enable to keep table count low.
> h2. Why?
> In 2018 we migrated the way to structure MailRepository, and supplied a fallback mechanism, without providing means to migrate them from the old schema to the new.
> An easy mean is to rely on reprocessing:
>  - In mailetcontainer.xml define an orphan processor with just a ToRepository mailet for the processor you wishes to migrate.
>  - Then trigger a full reprocessing.
>  - Emails will be re-added but in v2
> Doing the upgrade with empty mail repository works too.
> People adopting distributed James after version 3.4.0 are not impacted.
> h2. What to do from there?
>  - Document commands to audit if a migration is needed
>  - Document the migration process (prior to an upgrade)
>  - Document that after the upgrade the table can be dropped.
>  - Drop the table off James code.



--
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