On 4/12/23 15:30, Jeff Jirsa wrote:
Are you always inserting into the same partition (with contention) or different ?
I'm actually updating the very same row. :)
Which version are you using ?
# nodetool version ReleaseVersion: 4.1.1
The short tldr is that the failure modes of the existing paxos implementation (under contention, under latency, under cluster strain) can cause undefined states. I believe that a subsequent serial read will deterministically resolve the state (look at cassandra-12126), but that has a cost (both the extra operation and the code complexity)
I'm definitely driving contention here in my workload. I'm basically implementing locks using LWTs on a row and I'm running lock/unlock in a tight loop *from multiple clients*. As said, this already comes to a grinding halt with just 2 clients.
The upcoming transactional rewrite will likely change this, but it’s still WIP (CEP-15)
Thanks. I'm aware of Acord and can't await to get my fingers on Cassandra 5.0. :) In the meantime I was hoping I could use Cassandra's LWTs to implement locking.
Thanks! -slow
OpenPGP_signature
Description: OpenPGP digital signature