Hi all,<div>after having a look and discussing some details with Manik about the missing CAS operation for ReplaceCommand based APIs,</div><div>we agreed that the only way to have each node apply the same value - and have each node resolve the same condition, hence making a consistent choice - we need to mandate the compare on the lock owner and from there replicate the decision to it's peers.</div>
<div><br></div><div>Looks good, as we where discussing mostly about DIST; how should I deal with REPL?</div><div><br></div><div>I actually don't know how REPL is managing locks and consistency, I always assumed it to be the same as DIST but that doesn't seem to be the case. Is this implying that all the "single lock owner" improvements also apply to DIST only?</div>
<div><br></div><div>Is REPL acquiring a lock on all nodes? If that's the case, then I don't know how to fix this without being able to rely on eventual consistency.</div><div><br></div><div>I'm getting this idea that the only way to achieve scalable consistency is to write always on a single point for each entry (the lock owner) and this has the responsibility to replicate writes to other nodes; this would be nice and easy to handle as then all write operations on the same key have a single node defining the order of operations (for a specific key); that needs sequential RPCs rather than parallel ones, but you don't need locks at all.</div>
<div><br></div><div>Cheers,</div><div>Sanne</div>