6 ms·
I'm pretty sure this is simply active/standby clustering with some level of log shipping, not the active/active clustering that Jepsen is relevant for?
by EwanToo 11y ago
I'm pretty sure this is simply active/standby clustering with some level of log shipping, not the active/active clustering that Jepsen is relevant for?
- teraflop 11y agoJepsen is completely relevant to this kind of system, because it doesn't care what words you use to describe your algorithm -- just the patterns of communication it exhibits, and the consistency properties it satisfies. (What Jepsen isn't useful for is databases that don't even try to be consistent -- for example, Cassandra in its default modes. All Jepsen can do for you in that case is confirm what you should have been able to tell from the documentation.) And arguably, active/standby with automatic failover is just a special case of active/active, with particar tradeoffs about throughput and failover latency.
- EwanToo 11y agoWell you can run Jepsen tests against single nodes and use it to validate consistency on that single node if you want, but it's not really what it's made for, the github tagline for it is: "Call Me Maybe: simulating network partitions in DBs" Running Jepsen against a log shipping automation script is, to my mind, largely redundant. Running it against this system would be testing Postgres [1], not yoke. [1] - https://aphyr.com/posts/282-call-me-maybe-postgres https://aphyr.com/posts/282-call-me-maybe-postgres
- icebraining 11y agoCan't an extra layer of inconsistencies arise if there's a network partition, and each yoke process thinks it should be the primary, so both accept writes?
- EwanToo 11y agoI guess so yeah, I hadn't considered that :)
- dan353hehe 11y agoThats true, however in yokes case, each cluster needs a third member called a monitor who only serves to resolve network partitions. a secondary cannot self promote to primary without the monitor agreeing. two node systems can never work as a primary/secondary failover solution in the presence of a network partition. disclosure: I helped write yoke.
- tveita 11y agoCan the old master still accept requests if it loses contact with the monitor or secondary? What happens if the monitor goes down? Can there be data loss on failover? It would be nice if the readme listed what failure scenarios are handled and what guarantees you intend the system to have.