Alexey Serbin has posted comments on this change. Change subject: [kudu-jepsen] Kudu Jepsen tests ......................................................................
Patch Set 18: (7 comments) http://gerrit.cloudera.org:8080/#/c/5492/18//COMMIT_MSG Commit Message: PS18, Line 10: failing) > nit: wrap this Done PS18, Line 15: unsorted > you mean asorted, no? (i.e. miscellaneous, not out of order) yup, I meant 'assorted'. Fixed. PS18, Line 25: All Jepsen control operations on the DB nodes (i.e. Kudu master and : tserver nodes) are run via SSH. The private SSH key should be set prior : to running the test: : : 1. The public part of the SSH key should be added into the : 'authorized_keys' file for the root user on all cluster nodes. : : 2. The private part of the SSH key should be provided to the test : either by: : * adding the key into the SSH agent on the control node : * specifying the path to the key via 'sshKeyPath' property : : Having the Kudu cluster provisioned and SSH keys deployed, to run : the tests against the cluster with master node m0 and tserver nodes : {t0..t4}, build the Kudu project from sources and then execute : the following in the $KUDU_HOME/java/kudu-jepsen directory: : : mvn clojure:run -DmasterNodes=m0 -DtserverNodes="t0,t1,t2,t3,t4" : : after bulding the top-level project with : : mvn clean compile test-compile -Pjepsen > don't think this info needs to be here. Is it in the README? Yep, that also present in the README.adoc, in a little different format. Will remove. http://gerrit.cloudera.org:8080/#/c/5492/18/java/kudu-jepsen/src/main/clojure/jepsen/kudu/client.clj File java/kudu-jepsen/src/main/clojure/jepsen/kudu/client.clj: PS18, Line 87: into > s/into/to Done http://gerrit.cloudera.org:8080/#/c/5492/18/java/kudu-jepsen/src/main/clojure/jepsen/kudu/nemesis.clj File java/kudu-jepsen/src/main/clojure/jepsen/kudu/nemesis.clj: PS18, Line 99: but no server sees : the *same* majority as any other. > is there a guarantee that the majorities are different, or is it just likel This is a good question! That part I didn't check -- just took the jepsen's word for it. These nemeses are modeled after the originals in $JEPSEN_GIT_ROOT/jepsen/src/jepsen/nemesis.clj, but they are acting within the subset of nodes where tservers are running (master nodes are not affected). Probably, there is a better way to achieve that, but since I'm not so good at Clojure yet, that's what I came up with :) http://gerrit.cloudera.org:8080/#/c/5492/18/java/kudu-jepsen/src/main/clojure/jepsen/kudu/util.clj File java/kudu-jepsen/src/main/clojure/jepsen/kudu/util.clj: PS18, Line 34: 1.2.0 > isn't this 1.3.0-SNAPSHOT or whatever now? Well, it's repo pkg version, so for the latest snapshot from the main trunk it should be just an empty string. Will update, thank you for pointing at this! http://gerrit.cloudera.org:8080/#/c/5492/18/java/kudu-jepsen/src/test/clojure/jepsen/kudu_test.clj File java/kudu-jepsen/src/test/clojure/jepsen/kudu_test.clj: PS18, Line 53: (def register-test-configs : [ : {:suffix "tserver-random-halves" : :nemesis '(kn/tserver-partition-random-halves)} : {:suffix "tserver-majorities-ring" : :nemesis '(kn/tserver-partition-majorities-ring)} : {:suffix "kill-restart-2-tservers" : :nemesis '(kn/kill-restart-tserver (comp (partial take 2) shuffle))} : {:suffix "kill-restart-3-tservers" : :nemesis '(kn/kill-restart-tserver (comp (partial take 3) shuffle))} : {:suffix "kill-restart-all-tservers" : :nemesis '(kn/kill-restart-tserver shuffle)} : {:suffix "all-random-halves" : :nemesis '(jn/partition-random-halves)} : {:suffix "all-majorities-ring" : :nemesis '(jn/partition-majorities-ring)} : {:suffix "hammer-2-tservers" : :nemesis '(kn/tserver-hammer-time (comp (partial take 2) shuffle))} : {:suffix "hammer-3-tservers" : :nemesis '(kn/tserver-hammer-time (comp (partial take 3) shuffle))} : {:suffix "hammer-all-tservers" : :nemesis '(kn/tserver-hammer-time shuffle)} : ]) > clap clap! neato, thanks for adding all there scenarios I'm happy that you find this useful :) We can add more scenarios down the road. -- To view, visit http://gerrit.cloudera.org:8080/5492 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I590c6e78840304b3131666c7037ff9a08dc77dea Gerrit-PatchSet: 18 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Dan Burkert <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Jean-Daniel Cryans <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-HasComments: Yes
