Coda Hale has written a post entitled You Can’t Sacrifice Partition Tolerance. If you’ve already read my articles about the CAP theorem, or Dan Weinreb’s, or Julian Browne’s, every point Coda makes up to the mention of “harvest” and “yield” should seem very familiar, but even if the post contained only that it’s well worth recommending and Coda does bring a certain panache even to well-trodden ground. I particularly liked his way of poking much-deserved fun at the too-often-heard argument that error responses somehow preserve availability.
A 500 The Bees They’re In My Eyes response does not count as an actual response any more than a network timeout does. A response contains the results of the requested work.
It has been very interesting to watch all the CAP discussions unfold. I was far from the first to write about it; at this point I’m also far from the last. It seems to me that there is a consensus emerging. Even if Gilbert and Lynch only formally proved a narrower version of Brewer’s original conjecture, that conjecture and the tradeoffs it implies are still alive and well and highly relevant to the design of real working systems that serve real business needs. It’s also about time the rest of Brewer’s keynote got some attention. Thanks, Coda.