You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by "Todd Lipcon (Code Review)" <ge...@ip-10-146-233-104.ec2.internal> on 2016/01/15 03:25:45 UTC

[kudu-CR] Fix up dist_test for C++11, add dist_test support for Jenkins builds

Hello Dan Burkert, Mike Percy, Adar Dembo,

I'd like you to do a code review.  Please visit

    http://gerrit.cloudera.org:8080/1791

to review the following change.

Change subject: Fix up dist_test for C++11, add dist_test support for Jenkins builds
......................................................................

Fix up dist_test for C++11, add dist_test support for Jenkins builds

This commit does two separate things, but wasn't worth the effort of teasing
the changes out -- I was working on Jenkins-ifying dist_test when the C++11
changes came in and broke everything, so the two projects got done simultaneously
along with a few other fixes.

Jenkins-related changes:

- Adds flaky-test retry support to dist_test. For flaky tests, we submit the
  task to the dist test server with a 'max_retries' field so that it will
  automatically resubmit after a failure.
- Adds kudu-ts-cli to the list of dependencies (fixes some tests which now
  shell out to it)
- Adds a 'no_dist_test' ctest label to the tests which currently won't run
  correctly in the distributed test sandbox. These are basically client tests
  which require various dev tools to be on the box at runtime, which aren't
  present in the slave environment.
- Adds an ENABLE_DIST_TEST flag to the Jenkins script. When this is passed,
  it runs the dist-test-capable tests on the cluster, collects the results,
  and moves them back into the correct directory layout such that Jenkins
  can parse the results.
- Passes through KUDU_COMPRESS_TEST_OUTPUT to the slave environment.
- For RELEASE builds, if dist test is enabled, dynamic link for better performance.

C++11-related changes:
- Fixes the path to llvm-symbolizer now that we build llvm 3.7 as part of our
  thirdparty build.
- Switches from passing the thirdparty directory as an LD_LIBRARY_PATH
  variable to instead tweak the RPATH of binaries on the slave. This was
  necessary so that llvm-symbolizer would run correctly in the TSAN environment.
- Fixed the way that we pass environment variables inside enable_devtoolset.sh
  to use the 'env' utility. Without this, on Ubuntu boxes, I was getting an error
  that 'CC=/path/to/clang' was not an executable.

Sort-of-unrelated:
- Adds a --no-wait flag to the dist test script. I'm planning on using this
  soon to have the Jenkins slaves submit the dist test job, then run python
  and Java tests locally while the other tests are running remotely, then
  later collect the results. I ended up ripping that out for now, but left
  the support in the dist-test code.

Change-Id: I816f87ca5d1c6147746cfa3230bfe449c849e561
---
M build-support/dist_test.py
M build-support/jenkins/build-and-test.sh
M build-support/run_dist_test.py
M src/kudu/client/CMakeLists.txt
4 files changed, 190 insertions(+), 65 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/91/1791/1
-- 
To view, visit http://gerrit.cloudera.org:8080/1791
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I816f87ca5d1c6147746cfa3230bfe449c849e561
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <to...@apache.org>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <da...@cloudera.com>
Gerrit-Reviewer: Mike Percy <mp...@cloudera.com>