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

Reply via email to