[
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: [email protected]
For additional commands, e-mail: [email protected]