So, if we track per-key timestamps we are able to perform stale reads to 
assemble our transaction, and validate them on commit. This likely leads to 
much faster transactions than any other approach, as the interactive part all 
remains local.

If we instead perform Accord operations for every read operation within the 
transaction then I believe it would be safe to use the initiating timestamp, 
though this might also result in some additional aborts that would have been 
unnecessary (where a later read encounters a write that is newer than the 
initiating timestamp, but that might well be serializable/strict serializable).

If we perform only local reads and use the initiating timestamp only then we 
cannot be certain that we did not miss an earlier write than our timestamp that 
had not been replicated to us on a key that was not read by the initial 
operation.

From: Henrik Ingo <henrik.i...@datastax.com>
Date: Wednesday, 13 October 2021 at 15:50
To: dev@cassandra.apache.org <dev@cassandra.apache.org>
Subject: Re: [DISCUSS] CEP-15: General Purpose Transactions
On Wed, Oct 13, 2021 at 2:54 PM bened...@apache.org <bened...@apache.org>
wrote:

> I think this is a blurring of lines of systems however. I _think_ the
> point Alex is making (correct me if I’m wrong) is that the transaction
> system will need to track the transaction timestamps that were witnessed by
> each read for each key, in order to verify that they remain valid on
> commit.


Isn't it sufficient to simply verify that there were no conflicting writes
between a start timestamp of the transaction and the commit timestamp?

I can imagine verifying the timestamp of each row or cell could result in
"finer grained" dependency checking and therefore cause less aborts due to
occ.

henrik
--

Henrik Ingo

+358 40 569 7354 <358405697354>

[image: Visit us online.] <https://www.datastax.com/>  [image: Visit us on
Twitter.] <https://twitter.com/DataStaxEng>  [image: Visit us on YouTube.]
<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_channel_UCqA6zOSMpQ55vvguq4Y0jAg&d=DwMFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=IFj3MdIKYLLXIUhYdUGB0cTzTlxyCb7_VUmICBaYilU&m=bmIfaie9O3fWJAu6lESvWj3HajV4VFwgwgVuKmxKZmE&s=16sY48_kvIb7sRQORknZrr3V8iLTfemFKbMVNZhdwgw&e=>
  [image: Visit my LinkedIn profile.] <https://www.linkedin.com/in/heingo/>

Reply via email to