3 ms·
> strict serializability doesn't imply idempotency I think we're probably getting at the same thing, but I do want to clarify a bit. A Strict Serializable hist
by aphyr 2y ago
> strict serializability doesn't imply idempotency
I think we're probably getting at the same thing, but I do want to clarify a bit. A Strict Serializable history, like a Serializable one, requires equivalence to a total order of transactions. That's clearly not true for etcd+jetcd: no possible order of transactions can allow (e.g.) a transaction to read from its own future. It's totally fine to submit non-idempotent transactions against a Serializable system: systems which actually provide Serializable will execute known-committed transactions exactly once.
Plenty of other databases pass this test; etcd+jetcd does not. This system is simply not Serializable.
- mjb 2y agoMaybe what I should have said is "you can't just retry transactions against a strict serializable database and expect to still get strict serializability (from the applications's perspective)". This is true of distributed system APIs more generally, too.
- aphyr 2y agoYeah, that's a good way of phrasing it! :-)