Verifying Transactional Consistency with Jepsen and FaunaDB
1–10 of 27 posts
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#2> As part of our engineering process at Fauna, we have built a comprehensive suite of unit and property-based tests and as well as a sophisticated distributed testing framework that is capable of checking the behavior of FaunaDB in the presence of a wide combination of fault injections and operational changes, similar to Netflix’s Chaos Monkey.
What did you write your property testing framework in?
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#3Is this OSS? > As part of our engineering process at Fauna, we have built a comprehensive suite of unit and property-based tests and as well as a sophisticated distributed testing framework that is capable of checking the behavior of FaunaDB in the presence of a wide combination of fault injections and operational changes, similar to Netflix’s Chaos Monkey. What did you write your property testing framework in?
Our property tests are written in Scala as a Monad for controlling execution and random sample generation, and our internal distributed test harness uses Akka. This worked out nicely because we were able to make the relevant integration and fault tests scale from local runs via SBT to full geo-distributed clusters and OS-level fault injection.
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#4Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#5Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#6Jepsen is an important sanity check on marketing. Easy to say in collateral you are "strict" ACID -- Jepsen proves (or denies) those claims. Some fun reports over there http://jepsen.io/analyses
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#7Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#8Is this OSS? > As part of our engineering process at Fauna, we have built a comprehensive suite of unit and property-based tests and as well as a sophisticated distributed testing framework that is capable of checking the behavior of FaunaDB in the presence of a wide combination of fault injections and operational changes, similar to Netflix’s Chaos Monkey. What did you write your property testing framework in?
We run FaunaDB as a service, or you can license it for on-prem use. Drivers and tooling are all open however, and we plan to release the source for correctness testing as well. Our property tests are written in Scala as a Monad for controlling execution and random sample generation, and our internal distributed test harness uses Akka. This worked out nicely because we were able to make the relevant integration and fa…
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#9Jepsen is an important sanity check on marketing. Easy to say in collateral you are "strict" ACID -- Jepsen proves (or denies) those claims. Some fun reports over there http://jepsen.io/analyses
Re: Verifying Transactional Consistency with Jepsen and FaunaDB
#10How does fauna's consistency guarantees compare to coakroach, spanner and yugabyte? It is difficult to compare because different vendors use different terminology. For example spanner supports 'external consistency'. And Coakroach says it supports serializable as defined by ANSI. Is this the same as what Fauna calls strict serializable?
This is a bit weaker than external consistency or strict serializability; Peter Bailis has a good writeup on the meaning of serializability vs strict serializability here: http://www.bailis.org/blog/linearizability-versus-serializab...