[ https://issues.apache.org/jira/browse/CASSANDRA-19436?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ariel Weisberg updated CASSANDRA-19436: --------------------------------------- Description: Concurrent writes at the same time that migration starts make it unsafe to read from Accord because txn recovery will not be deterministic in the presences of writes not done through Accord. Migration to Accord needs to be split into two phases, in the first phase we write through Accord and always respect the consistency level and do synchronous commit. This allows Paxos and non-serial writes to continue while Accord's metadata covers everything needed for future reads. Paxos continues to operate as normal since it has enough metadata to allow key migration in the second phase and we need to stay online so something needs to handle LWTs. Then repair runs and makes it possible for Accord to read any data written non-transactionally and we can then do key migration and route all updates (conditional or blind) through Accord while Paxos repair runs so we can stop doing key migration. was: Concurrent writes at the same time that migration starts make it unsafe to read from Accord because txn recovery will not be deterministic in the presences of writes not done through Accord. Adding key migration to non-serial writes could solve this by causing writes not going through Accord to be rejected at nodes where key migration already occurred. > When transitioning to Accord migration it's not safe to read immediately > using Accord due to concurrent non-serial writes > ------------------------------------------------------------------------------------------------------------------------- > > Key: CASSANDRA-19436 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19436 > Project: Cassandra > Issue Type: Bug > Reporter: Ariel Weisberg > Priority: Normal > > Concurrent writes at the same time that migration starts make it unsafe to > read from Accord because txn recovery will not be deterministic in the > presences of writes not done through Accord. > Migration to Accord needs to be split into two phases, in the first phase we > write through Accord and always respect the consistency level and do > synchronous commit. This allows Paxos and non-serial writes to continue while > Accord's metadata covers everything needed for future reads. Paxos continues > to operate as normal since it has enough metadata to allow key migration in > the second phase and we need to stay online so something needs to handle LWTs. > Then repair runs and makes it possible for Accord to read any data written > non-transactionally and we can then do key migration and route all updates > (conditional or blind) through Accord while Paxos repair runs so we can stop > doing key migration. -- 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