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

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

> Hints to ensure UID/ModSeq consistency in case of disaster
> ----------------------------------------------------------
>
>                 Key: JAMES-3960
>                 URL: https://issues.apache.org/jira/browse/JAMES-3960
>             Project: James Server
>          Issue Type: Improvement
>          Components: cassandra, mailbox
>            Reporter: Benoit Tellier
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. Why?
> {code:java}
> Given James runs on data-center-1
> AND connects in LOCAL_QUORUM and LOCAL_SERIAL to a 3 node cassandra cluster 
> in data-center-1
> AND cassandra live replicate itself to a backup DC in data-center-2
> WHEN a disaster render data-center-1 unusable
> THEN I want to connect James to data-center-2
> {code}
> Doing so can be done by flipping local.dc in cassandra.properties
> But uid/modseq monoticity can not be guarantied in the switch as dc2 is out 
> of the quorum. This may result in email loss/failure to synchronise a given 
> mail thus preventing a user to see it.
> We are looking for an heuristic to prevent such inconsistencies
> h3. How?
> Upon the switch add a defensive amount to all uids and modseq. This will 
> prevent double allocation.
> This can easdily be conffigured in cassandra.properties: 
> uid.modseq.increment: an integer defaulting to 0 added to each uid / modseq
> h3. Definition of done
> Unit tests showing that the configuration is well applied.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to