Closed xiang90 closed 9 years ago
The etcd developers were very helpful and hopefully this link can clarify things: https://groups.google.com/d/msg/etcd-dev/AslsLq2Lddk/FWRNkwOrV6IJ
In particular, these experiments used etcd 2.0 with "quorum=false".
@ahorn
I am the author of etcd actually. If you want to ensure linerizability in etcd, you should follow what yicheng said "set quorum=true".
It is a little bit misleading since the audience would think etcd fails to ensure its guarantees. But the fact is, as you said:
I've repeated the experiments with "quorum=true" and things seem to work nicely.
I understand you want to emphasize that your system is faster and more memory efficient than existing checkers.
However I think you still need to ensure that the content is clear and solid.
My apologies if this has not come across. We did not talk about etcd in the paper so this bit was only included as extra info in the README as another interesting data point in our comparison with existing tools. I shall update the README accordingly because I agree that it could be misleading otherwise. All best wishes, Alex
This is in commit 1a717650d2f5589bb0ca25003d429f831eaaa698. Is that okay?
@ahorn Not a problem at all.
We are working on a low cost linerizability mechanism in etcd recently. Also we are working closely with cockroach db guys, which is a distributed supports linerizability. /cc @spencerkimball @bdarnell
We will need your help to set up the testing environment!
Thanks again for your effort.
@ahorn LGTM!
If you can mention etcd passes the test if you set q=true, then it would be more awesome.
Sure thing, commit 8c2a21fa797caa6e47cc468ef06a75e2462cd0c0.
Re: testing environment. All the credit for getting histories from etcd 2.0 deservedly goes to @aphyr who wrote Jepsen. I have merely written a tool that I hope is useful when testing concurrent data types such as sets and maps, which may be particularly relevant for tests with, say, cas-set-client in Jepsen [1].
@ahorn Great! Thanks!
I really appreciate the work you have done to make linerizability checking faster.
I noticed the mention of etcd in the test. It is a little bit confusing. I hope you can help to clarify:
Moreover, etcd supports linearizable operations today. We are trying to make etcd a low cost linearizable system.