Benoit Tellier created JAMES-3960: ------------------------------------- Summary: 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
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