[infinispan-dev] The "Triangle" pattern for reducing Put latency

Sanne Grinovero sanne at infinispan.org
Wed Nov 25 05:27:37 EST 2015


At our last face to face meeting we were discussing about possible
strategies to reduce the latency of a Put operation.

I wasn't part of that conversation, but see in our notes that the idea
would be to have the Originator to wait for first ACK from a backup,
rather than having the backups confirm with the Owner first, although
this would need for Gets to have to go to the primary owner
exclusively to keep the current consistency semantics.

An alternative is to wait for all ACKs, but I think this could still
be optimised in "triangle shape" too by having the Originator only
wait for the ACKs from the non-primary replicas?
So backup owners have to send a confirmation message to the
Originator, while the Primary owner isn't expecting to do so.

I suspect the tricky part is what happens when the Primary owner rules
+1 to apply the change, but then the backup owners (all or some of
them) somehow fail before letting the Originator know. The Originator
in this case should seek confirmation about its operation state
(success?) with the Primary owner; this implies that the Primary owner
needs to keep track of what it's applied and track failures too, and
this log needs to be pruned.

Sounds pretty nice, or am I missing other difficulties?

Thanks,
Sanne


More information about the infinispan-dev mailing list