From commits-return-6405-archive-asf-public=cust-asf.ponee.io@kudu.apache.org Tue Sep 11 07:47:03 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id D23C918067A for ; Tue, 11 Sep 2018 07:47:02 +0200 (CEST) Received: (qmail 8183 invoked by uid 500); 11 Sep 2018 05:47:01 -0000 Mailing-List: contact commits-help@kudu.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@kudu.apache.org Delivered-To: mailing list commits@kudu.apache.org Received: (qmail 8174 invoked by uid 99); 11 Sep 2018 05:47:01 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 11 Sep 2018 05:47:01 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 7FBE6DFC7C; Tue, 11 Sep 2018 05:47:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: alexey@apache.org To: commits@kudu.apache.org Message-Id: <707481818fd44927b07bbbbcbaf787bb@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: kudu git commit: [jepsen] a bunch of minor updates on README.adoc Date: Tue, 11 Sep 2018 05:47:01 +0000 (UTC) Repository: kudu Updated Branches: refs/heads/master edde4bebe -> e709db1f3 [jepsen] a bunch of minor updates on README.adoc Added a link to the reference script for building Kudu and running Jepsen tests. Added information on how to quickly locate corresponding sections in the Jepsen output in case if an error happened during Jepsen tests run. Updated the command to build the kudu-jepnsen package. This patch does not contain any functional changes. Change-Id: Ibd4c7a522829e774f786a85d4bdfa01d0be553f5 Reviewed-on: http://gerrit.cloudera.org:8080/11414 Tested-by: Kudu Jenkins Reviewed-by: Hao Hao Project: http://git-wip-us.apache.org/repos/asf/kudu/repo Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/e709db1f Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/e709db1f Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/e709db1f Branch: refs/heads/master Commit: e709db1f379e2375841a2c6357cd3b6a6ce4618b Parents: edde4be Author: Alexey Serbin Authored: Mon Sep 10 16:27:19 2018 -0700 Committer: Alexey Serbin Committed: Tue Sep 11 05:34:53 2018 +0000 ---------------------------------------------------------------------- java/kudu-jepsen/README.adoc | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kudu/blob/e709db1f/java/kudu-jepsen/README.adoc ---------------------------------------------------------------------- diff --git a/java/kudu-jepsen/README.adoc b/java/kudu-jepsen/README.adoc index 7dfaaee..fc7663b 100644 --- a/java/kudu-jepsen/README.adoc +++ b/java/kudu-jepsen/README.adoc @@ -47,10 +47,11 @@ To build the library the following components are required: * JDK 8 * Apache Maven version 3.3.6 or higher -To build the project, run in the parent directory (i.e. `$KUDU_HOME/java`) +To build the project and install necessary Java packages into the local mvn +repository, run in the parent directory (i.e. `$KUDU_HOME/java`) [listing] ---- -$ mvn clean compile test-compile -Pjepsen +$ mvn -Pjepsen -DskipTests clean install ---- === Running @@ -101,6 +102,10 @@ In the Jepsen terminology, Kudu master and tserver nodes are playing *Jepsen DB node* roles. The machine where the above mentioned maven command is run plays *Jepsen control node* role. +=== A reference script to build Kudu and run Jepsen tests +The following link:../../src/kudu/scripts/jepsen.sh[Bourne-again shell script] +can be used as a reference to build Kudu from source and run Jepsen tests. + === Troubleshooting When Jepsen's analysis doesn't find inconsistencies in the history of operations it outputs the following in the end of a test: @@ -132,8 +137,16 @@ summary message below reports on 10 errors in 10 tests ran: 21:41:42 0 failures, 10 errors. ---- To get more details, take a closer look at the output of `mvn clojure:run` -or at particular `jepsen.log` files under -$KUDU_HOME/java/kudu-jepsen/store/rw-register/ directories. +or at particular `jepsen.log` files in +`$KUDU_HOME/java/kudu-jepsen/store/rw-register/` directory. A +quick way to locate the corresponding section in the error log is to search for +`^ERROR in \(` regex pattern. An example of error message from Jepsen's output: +[listing] +---- +ERROR in (register-test-tserver-random-halves) (KuduException.java:110) +expected: (:valid? (:results (jepsen/run! (tcasefun opts)))) + actual: org.apache.kudu.client.NonRecoverableException: can not complete before timeout: KuduRpc(method=IsCreateTableDone, tablet=null, attempt=28, DeadlineTracker(timeout=30000, elapsed=28571), ... +---- The latter class represents more serious issue: a manifestation of non-linearizable history of operations. This is reported as _failure_ in the @@ -154,7 +167,8 @@ Analysis invalid! (ノಥ益ಥ)ノ ┻━┻ To troubleshoot, first it's necessary to find where the failed test stores the results: it should be one of the timestamp-named sub-directories (e.g. `20170109T071938.000-0800`) under -`$KUDU_HOME/java/kudu-jepsen/store/rw-register`. One of the possible ways +`$KUDU_HOME/java/kudu-jepsen/store/rw-register` in case of a linearizability +failure in one of the `rw-register` test scenarios. One of the possible ways to find the directory: [listing] ----