[ https://issues.apache.org/jira/browse/CASSSIDECAR-318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Josh McKenzie updated CASSSIDECAR-318: -------------------------------------- Description: Currently in sidecar failover we left it contentionless so that any ‘buddy’ sidecar will failover if it detects the instance to be down. This is ok for RF=3, but for RF=5 or more there will be more than one Sidecar buddy. Also it relies on the down detector to determine failover. We should add strong consistency to failover by utilizing Raft or CAS to ensure only one replica wins the leadership for a token range at a time. The current Sidecar assumes only 1 other Sidecar buddy to failover to without contention. With RF=5 or greater there are two or more other Sidecar buddies, so the Sidecar’s should failover deterministically in the order positioned in the ring. e.g. with 5 replicas R1-R5 - If R1 goes down, R2 attempts to takeover R1’s token range. - R3 only attempts to takeover R1 if both R1 & R2 go down. was:Currently in sidecar failover we left it contentionless so that any ‘buddy’ sidecar will failover if it detects the instance to be down. This is ok for RF=3, but for RF=5 or more there will be more than one Sidecar buddy. Also it relies on the down detector to determine failover. > CDC: add strong consistent failover by plugging in raft or CAS > -------------------------------------------------------------- > > Key: CASSSIDECAR-318 > URL: https://issues.apache.org/jira/browse/CASSSIDECAR-318 > Project: Sidecar for Apache Cassandra > Issue Type: Improvement > Components: CDC > Reporter: Josh McKenzie > Assignee: Bernardo Botella Corbi > Priority: Major > > Currently in sidecar failover we left it contentionless so that any ‘buddy’ > sidecar will failover if it detects the instance to be down. This is ok for > RF=3, but for RF=5 or more there will be more than one Sidecar buddy. Also it > relies on the down detector to determine failover. > We should add strong consistency to failover by utilizing Raft or CAS to > ensure only one replica wins the leadership for a token range at a time. > The current Sidecar assumes only 1 other Sidecar buddy to failover to without > contention. With RF=5 or greater there are two or more other Sidecar buddies, > so the Sidecar’s should failover deterministically in the order positioned in > the ring. > e.g. with 5 replicas R1-R5 > - If R1 goes down, R2 attempts to takeover R1’s token range. > - R3 only attempts to takeover R1 if both R1 & R2 go down. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org