Ariel Weisberg created CASSANDRA-20589: ------------------------------------------
Summary: Improve consistency of non-SERIAL mutations on Accord Key: CASSANDRA-20589 URL: https://issues.apache.org/jira/browse/CASSANDRA-20589 Project: Apache Cassandra Issue Type: Improvement Components: Accord Reporter: Ariel Weisberg Right now all non-SERIAL mutations on Accord use the coordinator generated timestamp not the Accord generated timestamp making them not linearizable. This isn’t a regression, but it could maybe be improved to be linearizable in more cases. One complication is that `USING TIMESTAMP` needs to be detected and respected by Accord and `USING TIMESTAMP` can be per statement in both a logged and unlogged batch. Additionally this information is not available anymore at the `StorageProxy` layer where coordinating mutations takes place. Hints and batch log will repeatedly apply operations and they need to be idempotent so those should always re-use the same timestamp otherwise you risk data resurrection. Additionally the underlying update might be applied as a transaction, and then it might be applied again as a hint/batchlog replay so the correctness of this approach needs to be thoroughly evaluated since we are now mixing Accord and coordinator generated timestamps in the non-SERIAL write path. -- 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