[ 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