Hi all,
after having a look and discussing some details with Manik about the
missing CAS operation for ReplaceCommand based APIs,
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.
Looks good, as we where discussing mostly about DIST; how should I deal
with REPL?
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?
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.
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.
Cheers,
Sanne
Show replies by date