kudu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a...@apache.org
Subject [2/4] kudu git commit: build: adjust the number of processors for various tests
Date Tue, 06 Mar 2018 23:10:19 GMT
build: adjust the number of processors for various tests

Many of our tests are multithreaded and can utilize many cores worth of
CPU during execution. Other tests are somewhat timing-sensitive and
might time out if run in coordination with a stress test, particularly
on a small machine which might only have four CPUs total.

This patch adjusts the core count property for a bunch of tests based on
some empirical analysis using a new 'perf-stat' wrapper capability
provided in run-test.sh. The wrapper produces periodic samples of the
CPU usage for each test. Measurements are written into log files which
can then be analyzed with a command like the following:

for x in build/latest/test-logs/*.perf.txt ; do
  echo -n $x
  grep task-clock $x | sort -nk2 | tail -1
done | sort -nk3

This resulted in a list of tests along with their peak CPU usage (from
their busiest 1000ms period). I used this as a rough guide to find tests
with inappropriate settings in CMakeLists.txt. The net effect of this
change is that 'ctest -j' might run slightly longer, but that we'll have
fewer flaky tests in such a run configuration because we don't have
stress tests perturbing timing of unrelated non-stress tests.

Change-Id: I922031af69178b98459d0d59287442b692425afa
Reviewed-on: http://gerrit.cloudera.org:8080/9503
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <adar@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/kudu/commit/1c1d3ba1
Tree: http://git-wip-us.apache.org/repos/asf/kudu/tree/1c1d3ba1
Diff: http://git-wip-us.apache.org/repos/asf/kudu/diff/1c1d3ba1

Branch: refs/heads/master
Commit: 1c1d3ba1cebb6b02cea9603c952931fd8261200a
Parents: e7c7d4a
Author: Todd Lipcon <todd@apache.org>
Authored: Mon Mar 5 16:56:11 2018 -0800
Committer: Todd Lipcon <todd@apache.org>
Committed: Tue Mar 6 22:59:06 2018 +0000

----------------------------------------------------------------------
 CMakeLists.txt                            | 18 ++++++++++
 build-support/run-test.sh                 | 18 ++++++++--
 src/kudu/cfile/CMakeLists.txt             |  2 +-
 src/kudu/client/CMakeLists.txt            |  4 +--
 src/kudu/clock/CMakeLists.txt             |  2 +-
 src/kudu/consensus/CMakeLists.txt         |  4 +--
 src/kudu/integration-tests/CMakeLists.txt | 50 +++++++++++++-------------
 src/kudu/mini-cluster/CMakeLists.txt      |  2 +-
 src/kudu/rpc/CMakeLists.txt               |  4 +--
 src/kudu/security/CMakeLists.txt          |  2 +-
 src/kudu/tablet/CMakeLists.txt            |  4 +--
 src/kudu/tools/CMakeLists.txt             |  6 ++--
 src/kudu/tserver/CMakeLists.txt           |  2 +-
 src/kudu/util/CMakeLists.txt              | 10 +++---
 14 files changed, 80 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ac960ff..753da44 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -693,6 +693,24 @@ endfunction()
 #       parallel on a single machine using ctest, they will still run in
 #       parallel across separate machines using dist-test.
 #
+#   PROCESSORS <num processors>
+#   RUN_SERIAL true
+#       These built-in CMake properties should be used when a test is
+#       a heavy consumer of CPU.
+#
+#       The PROCESSORS flag allows ctest to ensure that tests are only
+#       scheduled in parallel when an appropriate number of cores are
+#       available. The default is to assume that a test uses a single core
+#       (i.e. equivalent to PROCESSORS 1).
+#
+#       RUN_SERIAL ensures that the test does not run in parallel with any
+#       other test. This should be used for stress tests which start many
+#       threads and attempt to monopolize the machine.
+#
+#       In order to determine an appropriate setting, you can run the test
+#       with the KUDU_MEASURE_TEST_CPU_CONSUMPTION environment variable
+#       set. See build-support/run-test.sh for more details.
+#
 # Any other arguments will be passed to set_tests_properties().
 function(ADD_KUDU_TEST REL_TEST_NAME)
   # Parse out properties for which we have special handling.

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/build-support/run-test.sh
----------------------------------------------------------------------
diff --git a/build-support/run-test.sh b/build-support/run-test.sh
index b3fc285..c1b7647 100755
--- a/build-support/run-test.sh
+++ b/build-support/run-test.sh
@@ -31,6 +31,12 @@
 #
 # If KUDU_REPORT_TEST_RESULTS is non-zero, then tests are reported to the
 # central test server.
+#
+# If KUDU_MEASURE_TEST_CPU_CONSUMPTION is non-zero, then tests will be wrapped
+# in a 'perf stat' command which measures the CPU consumption on a periodic
+# basis, writing the output into '<test>.<shard>.perf.txt' logs in the test log
+# directory. This is handy in order to determine an appropriate value for the
+# 'PROCESSORS' property passed to 'ADD_KUDU_TEST' in CMakeLists.txt.
 
 # Path to the test executable or script to be run.
 # May be relative or absolute.
@@ -162,8 +168,14 @@ for ATTEMPT_NUMBER in $(seq 1 $TEST_EXECUTION_ATTEMPTS) ; do
     addr2line_filter="$SOURCE_ROOT/build-support/stacktrace_addr2line.pl $ABS_TEST_PATH"
   fi
   echo "Running $TEST_NAME, redirecting output into $LOGFILE" \
-    "(attempt ${ATTEMPT_NUMBER}/$TEST_EXECUTION_ATTEMPTS)"
-  $ABS_TEST_PATH "$@" --test_timeout_after $KUDU_TEST_TIMEOUT 2>&1 \
+       "(attempt ${ATTEMPT_NUMBER}/$TEST_EXECUTION_ATTEMPTS)"
+  test_command=$ABS_TEST_PATH
+  if [ -n "$KUDU_MEASURE_TEST_CPU_CONSUMPTION" ] && [ "$KUDU_MEASURE_TEST_CPU_CONSUMPTION"
-ne 0 ] ; then
+    perf_file=$TEST_LOGDIR/$TEST_NAME.perf.txt
+    echo "Will wrap test in perf-stat, output to ${perf_file}..."
+    test_command="perf stat -I1000 -e task-clock -o $perf_file $test_command"
+  fi
+  $test_command "$@" --test_timeout_after $KUDU_TEST_TIMEOUT 2>&1 \
     | $addr2line_filter \
     | $pipe_cmd > $LOGFILE
   STATUS=$?
@@ -202,7 +214,7 @@ for ATTEMPT_NUMBER in $(seq 1 $TEST_EXECUTION_ATTEMPTS) ; do
     done
   fi
 
-  if [ -n "$KUDU_REPORT_TEST_RESULTS" ]; then
+  if [ -n "$KUDU_REPORT_TEST_RESULTS" ] && [ "$KUDU_REPORT_TEST_RESULTS" -ne 0 ];
then
     echo Reporting results
     $SOURCE_ROOT/build-support/report-test.sh "$ABS_TEST_PATH" "$LOGFILE" "$STATUS" &
 

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/cfile/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/cfile/CMakeLists.txt b/src/kudu/cfile/CMakeLists.txt
index c42e589..7eac936 100644
--- a/src/kudu/cfile/CMakeLists.txt
+++ b/src/kudu/cfile/CMakeLists.txt
@@ -60,5 +60,5 @@ ADD_KUDU_TEST(index-test)
 ADD_KUDU_TEST(cfile-test NUM_SHARDS 4)
 ADD_KUDU_TEST(encoding-test LABELS no_tsan)
 ADD_KUDU_TEST(bloomfile-test)
-ADD_KUDU_TEST(mt-bloomfile-test)
+ADD_KUDU_TEST(mt-bloomfile-test RUN_SERIAL true)
 ADD_KUDU_TEST(block_cache-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/client/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/client/CMakeLists.txt b/src/kudu/client/CMakeLists.txt
index 68d07b3..776acdb 100644
--- a/src/kudu/client/CMakeLists.txt
+++ b/src/kudu/client/CMakeLists.txt
@@ -261,7 +261,7 @@ set(KUDU_TEST_LINK_LIBS
   kudu_client
   mini_cluster
   ${KUDU_MIN_TEST_LIBS})
-ADD_KUDU_TEST(client-test NUM_SHARDS 8)
+ADD_KUDU_TEST(client-test NUM_SHARDS 8 PROCESSORS 2)
 ADD_KUDU_TEST(client-unittest)
 ADD_KUDU_TEST(predicate-test)
-ADD_KUDU_TEST(scan_token-test)
+ADD_KUDU_TEST(scan_token-test PROCESSORS 2)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/clock/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/clock/CMakeLists.txt b/src/kudu/clock/CMakeLists.txt
index 46ebe3b..7371aeb 100644
--- a/src/kudu/clock/CMakeLists.txt
+++ b/src/kudu/clock/CMakeLists.txt
@@ -33,5 +33,5 @@ target_link_libraries(clock
 
 set(KUDU_TEST_LINK_LIBS ${KUDU_MIN_TEST_LIBS}
   clock)
-ADD_KUDU_TEST(hybrid_clock-test)
+ADD_KUDU_TEST(hybrid_clock-test PROCESSORS 3)
 ADD_KUDU_TEST(logical_clock-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/consensus/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/consensus/CMakeLists.txt b/src/kudu/consensus/CMakeLists.txt
index ef2f9a7..11463a6 100644
--- a/src/kudu/consensus/CMakeLists.txt
+++ b/src/kudu/consensus/CMakeLists.txt
@@ -135,9 +135,9 @@ ADD_KUDU_TEST(consensus_queue-test)
 ADD_KUDU_TEST(leader_election-test)
 ADD_KUDU_TEST(log-test)
 ADD_KUDU_TEST(log_anchor_registry-test)
-ADD_KUDU_TEST(log_cache-test)
+ADD_KUDU_TEST(log_cache-test PROCESSORS 2)
 ADD_KUDU_TEST(log_index-test)
-ADD_KUDU_TEST(mt-log-test)
+ADD_KUDU_TEST(mt-log-test PROCESSORS 5)
 ADD_KUDU_TEST(quorum_util-test)
 ADD_KUDU_TEST(raft_consensus_quorum-test)
 ADD_KUDU_TEST(time_manager-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/integration-tests/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/CMakeLists.txt b/src/kudu/integration-tests/CMakeLists.txt
index 21d842a..49bcad3 100644
--- a/src/kudu/integration-tests/CMakeLists.txt
+++ b/src/kudu/integration-tests/CMakeLists.txt
@@ -54,55 +54,57 @@ add_dependencies(itest_util
 set(KUDU_TEST_LINK_LIBS itest_util ${KUDU_MIN_TEST_LIBS})
 ADD_KUDU_TEST(all_types-itest
   RESOURCE_LOCK "master-rpc-ports"
+  PROCESSORS 4
   NUM_SHARDS 8)
-ADD_KUDU_TEST(alter_table-randomized-test)
-ADD_KUDU_TEST(alter_table-test)
+ADD_KUDU_TEST(alter_table-randomized-test
+  PROCESSORS 4)
+ADD_KUDU_TEST(alter_table-test PROCESSORS 3)
 ADD_KUDU_TEST(authn_token_expire-itest)
-ADD_KUDU_TEST(catalog_manager_tsk-itest)
+ADD_KUDU_TEST(catalog_manager_tsk-itest PROCESSORS 2)
 ADD_KUDU_TEST(client_failover-itest)
 ADD_KUDU_TEST(client-negotiation-failover-itest
   RESOURCE_LOCK "master-rpc-ports")
 ADD_KUDU_TEST(client-stress-test
   RESOURCE_LOCK "master-rpc-ports"
   RUN_SERIAL true)
-ADD_KUDU_TEST(consistency-itest)
-ADD_KUDU_TEST(create-table-itest)
-ADD_KUDU_TEST(create-table-stress-test)
+ADD_KUDU_TEST(consistency-itest PROCESSORS 5)
+ADD_KUDU_TEST(create-table-itest PROCESSORS 3)
+ADD_KUDU_TEST(create-table-stress-test RUN_SERIAL true)
 ADD_KUDU_TEST(decimal-itest)
-ADD_KUDU_TEST(delete_table-itest NUM_SHARDS 8)
-ADD_KUDU_TEST(delete_tablet-itest)
-ADD_KUDU_TEST(disk_failure-itest)
+ADD_KUDU_TEST(delete_table-itest NUM_SHARDS 8 PROCESSORS 4)
+ADD_KUDU_TEST(delete_tablet-itest PROCESSORS 2)
+ADD_KUDU_TEST(disk_failure-itest PROCESSORS 2)
 ADD_KUDU_TEST(disk_reservation-itest)
 ADD_KUDU_TEST(exactly_once_writes-itest)
-ADD_KUDU_TEST(flex_partitioning-itest TIMEOUT 1800 NUM_SHARDS 8)
+ADD_KUDU_TEST(flex_partitioning-itest TIMEOUT 1800 NUM_SHARDS 8 PROCESSORS 2)
 ADD_KUDU_TEST(full_stack-insert-scan-test RUN_SERIAL true)
 ADD_KUDU_TEST(fuzz-itest RUN_SERIAL true)
 ADD_KUDU_TEST(heavy-update-compaction-itest RUN_SERIAL true)
-ADD_KUDU_TEST(linked_list-test RESOURCE_LOCK "master-rpc-ports")
+ADD_KUDU_TEST(linked_list-test RESOURCE_LOCK "master-rpc-ports" RUN_SERIAL true)
 ADD_KUDU_TEST(log-rolling-itest)
-ADD_KUDU_TEST(master_cert_authority-itest RESOURCE_LOCK "master-rpc-ports")
-ADD_KUDU_TEST(master_failover-itest RESOURCE_LOCK "master-rpc-ports")
+ADD_KUDU_TEST(master_cert_authority-itest RESOURCE_LOCK "master-rpc-ports" PROCESSORS 2)
+ADD_KUDU_TEST(master_failover-itest RESOURCE_LOCK "master-rpc-ports" PROCESSORS 3)
 ADD_KUDU_TEST(master_migration-itest RESOURCE_LOCK "master-rpc-ports")
 ADD_KUDU_TEST_DEPENDENCIES(master_migration-itest
   kudu)
 ADD_KUDU_TEST(master_replication-itest RESOURCE_LOCK "master-rpc-ports")
-ADD_KUDU_TEST(master-stress-test RESOURCE_LOCK "master-rpc-ports")
+ADD_KUDU_TEST(master-stress-test RESOURCE_LOCK "master-rpc-ports" RUN_SERIAL true)
 ADD_KUDU_TEST(multidir_cluster-itest)
-ADD_KUDU_TEST(open-readonly-fs-itest)
+ADD_KUDU_TEST(open-readonly-fs-itest PROCESSORS 4)
 ADD_KUDU_TEST(raft_config_change-itest)
-ADD_KUDU_TEST(raft_consensus_election-itest)
+ADD_KUDU_TEST(raft_consensus_election-itest PROCESSORS 4)
 ADD_KUDU_TEST(raft_consensus_failure_detector-imc-itest)
-ADD_KUDU_TEST(raft_consensus_nonvoter-itest)
-ADD_KUDU_TEST(raft_consensus_stress-itest)
+ADD_KUDU_TEST(raft_consensus_nonvoter-itest PROCESSORS 3)
+ADD_KUDU_TEST(raft_consensus_stress-itest RUN_SERIAL true)
 ADD_KUDU_TEST(raft_consensus-itest RUN_SERIAL true NUM_SHARDS 6)
 ADD_KUDU_TEST(registration-test RESOURCE_LOCK "master-web-port")
 ADD_KUDU_TEST(security-faults-itest)
 ADD_KUDU_TEST(security-itest RESOURCE_LOCK "master-rpc-ports")
 ADD_KUDU_TEST(security-master-auth-itest RESOURCE_LOCK "master-rpc-ports")
-ADD_KUDU_TEST(security-unknown-tsk-itest)
-ADD_KUDU_TEST(stop_tablet-itest)
+ADD_KUDU_TEST(security-unknown-tsk-itest PROCESSORS 4)
+ADD_KUDU_TEST(stop_tablet-itest PROCESSORS 4)
 ADD_KUDU_TEST(table_locations-itest)
-ADD_KUDU_TEST(tablet_copy-itest NUM_SHARDS 6)
+ADD_KUDU_TEST(tablet_copy-itest NUM_SHARDS 6 PROCESSORS 4)
 ADD_KUDU_TEST(tablet_copy_client_session-itest)
 ADD_KUDU_TEST(tablet_history_gc-itest)
 ADD_KUDU_TEST(tablet_replacement-itest)
@@ -110,10 +112,10 @@ ADD_KUDU_TEST(tombstoned_voting-imc-itest)
 ADD_KUDU_TEST(tombstoned_voting-itest)
 ADD_KUDU_TEST(tombstoned_voting-stress-test RUN_SERIAL true)
 ADD_KUDU_TEST(token_signer-itest RESOURCE_LOCK "master-rpc-ports")
-ADD_KUDU_TEST(ts_recovery-itest)
+ADD_KUDU_TEST(ts_recovery-itest PROCESSORS 4)
 ADD_KUDU_TEST(ts_tablet_manager-itest)
 ADD_KUDU_TEST(update_scan_delta_compact-test RUN_SERIAL true)
-ADD_KUDU_TEST(webserver-stress-itest RESOURCE_LOCK "master-rpc-ports")
+ADD_KUDU_TEST(webserver-stress-itest RESOURCE_LOCK "master-rpc-ports" RUN_SERIAL true)
 ADD_KUDU_TEST(write_throttling-itest)
 
 if (NOT APPLE)
@@ -121,7 +123,7 @@ if (NOT APPLE)
   # Opens too many files on macOS because we're not using a file cache for
   # reading log segments.
   # TODO(wdb): Re-enable once a file cache is being used.
-  ADD_KUDU_TEST(dense_node-itest)
+  ADD_KUDU_TEST(dense_node-itest RUN_SERIAL true)
 endif()
 
 # Tests that should not be run automatically by ctest.

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/mini-cluster/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/mini-cluster/CMakeLists.txt b/src/kudu/mini-cluster/CMakeLists.txt
index c3be379..9d2e394 100644
--- a/src/kudu/mini-cluster/CMakeLists.txt
+++ b/src/kudu/mini-cluster/CMakeLists.txt
@@ -49,4 +49,4 @@ add_dependencies(mini_cluster
 
 # Tests
 set(KUDU_TEST_LINK_LIBS mini_cluster kudu_hms ${KUDU_MIN_TEST_LIBS})
-ADD_KUDU_TEST(external_mini_cluster-test RESOURCE_LOCK "master-rpc-ports")
+ADD_KUDU_TEST(external_mini_cluster-test RESOURCE_LOCK "master-rpc-ports" PROCESSORS 3)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/rpc/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/rpc/CMakeLists.txt b/src/kudu/rpc/CMakeLists.txt
index 5a3a2b0..f8cdb02 100644
--- a/src/kudu/rpc/CMakeLists.txt
+++ b/src/kudu/rpc/CMakeLists.txt
@@ -126,7 +126,7 @@ set(KUDU_TEST_LINK_LIBS
   rtest_krpc
   security_test_util
   ${KUDU_MIN_TEST_LIBS})
-ADD_KUDU_TEST(exactly_once_rpc-test)
+ADD_KUDU_TEST(exactly_once_rpc-test PROCESSORS 10)
 ADD_KUDU_TEST(mt-rpc-test RUN_SERIAL true)
 ADD_KUDU_TEST(negotiation-test)
 ADD_KUDU_TEST(periodic-test)
@@ -135,4 +135,4 @@ ADD_KUDU_TEST(request_tracker-test)
 ADD_KUDU_TEST(rpc-bench RUN_SERIAL true)
 ADD_KUDU_TEST(rpc-test)
 ADD_KUDU_TEST(rpc_stub-test)
-ADD_KUDU_TEST(service_queue-test)
+ADD_KUDU_TEST(service_queue-test RUN_SERIAL true)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/security/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/security/CMakeLists.txt b/src/kudu/security/CMakeLists.txt
index 509d01b..3af155d 100644
--- a/src/kudu/security/CMakeLists.txt
+++ b/src/kudu/security/CMakeLists.txt
@@ -127,6 +127,6 @@ if (NOT NO_TESTS)
   ADD_KUDU_TEST(crypto-test)
   ADD_KUDU_TEST(test/mini_kdc-test)
   ADD_KUDU_TEST(tls_handshake-test)
-  ADD_KUDU_TEST(tls_socket-test)
+  ADD_KUDU_TEST(tls_socket-test PROCESSORS 2)
   ADD_KUDU_TEST(token-test)
 endif()

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/tablet/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/tablet/CMakeLists.txt b/src/kudu/tablet/CMakeLists.txt
index 99c7de0..771e22a 100644
--- a/src/kudu/tablet/CMakeLists.txt
+++ b/src/kudu/tablet/CMakeLists.txt
@@ -96,7 +96,7 @@ ADD_KUDU_TEST(compaction_policy-test
   # Can't use dist-test because it relies on a data file.
   LABELS no_dist_test)
 
-ADD_KUDU_TEST(all_types-scan-correctness-test NUM_SHARDS 8)
+ADD_KUDU_TEST(all_types-scan-correctness-test NUM_SHARDS 8 PROCESSORS 2)
 ADD_KUDU_TEST(diskrowset-test)
 ADD_KUDU_TEST(mt-diskrowset-test RUN_SERIAL true)
 ADD_KUDU_TEST(memrowset-test)
@@ -114,7 +114,7 @@ ADD_KUDU_TEST(lock_manager-test)
 ADD_KUDU_TEST(rowset_tree-test NUM_SHARDS 6)
 ADD_KUDU_TEST(composite-pushdown-test)
 ADD_KUDU_TEST(delta_compaction-test)
-ADD_KUDU_TEST(mt-rowset_delta_compaction-test)
+ADD_KUDU_TEST(mt-rowset_delta_compaction-test PROCESSORS 2)
 ADD_KUDU_TEST(major_delta_compaction-test)
 ADD_KUDU_TEST(transactions/transaction_tracker-test)
 ADD_KUDU_TEST(tablet_history_gc-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/tools/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/tools/CMakeLists.txt b/src/kudu/tools/CMakeLists.txt
index 12f5e40..06fe484 100644
--- a/src/kudu/tools/CMakeLists.txt
+++ b/src/kudu/tools/CMakeLists.txt
@@ -141,11 +141,11 @@ set(KUDU_TEST_LINK_LIBS
   mini_cluster
   ${KUDU_MIN_TEST_LIBS})
 ADD_KUDU_TEST(ksck-test)
-ADD_KUDU_TEST(ksck_remote-test RESOURCE_LOCK "master-rpc-ports")
-ADD_KUDU_TEST(kudu-admin-test)
+ADD_KUDU_TEST(ksck_remote-test RESOURCE_LOCK "master-rpc-ports" PROCESSORS 3)
+ADD_KUDU_TEST(kudu-admin-test PROCESSORS 3)
 ADD_KUDU_TEST_DEPENDENCIES(kudu-admin-test
   kudu)
-ADD_KUDU_TEST(kudu-tool-test NUM_SHARDS 4)
+ADD_KUDU_TEST(kudu-tool-test NUM_SHARDS 4 PROCESSORS 3)
 ADD_KUDU_TEST_DEPENDENCIES(kudu-tool-test
   kudu)
 ADD_KUDU_TEST(kudu-ts-cli-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/tserver/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/tserver/CMakeLists.txt b/src/kudu/tserver/CMakeLists.txt
index e062e2d..3a67f44 100644
--- a/src/kudu/tserver/CMakeLists.txt
+++ b/src/kudu/tserver/CMakeLists.txt
@@ -175,7 +175,7 @@ ADD_KUDU_TEST(mini_tablet_server-test)
 ADD_KUDU_TEST(tablet_copy_client-test)
 ADD_KUDU_TEST(tablet_copy_source_session-test)
 ADD_KUDU_TEST(tablet_copy_service-test)
-ADD_KUDU_TEST(tablet_server-test)
+ADD_KUDU_TEST(tablet_server-test PROCESSORS 3)
 ADD_KUDU_TEST(tablet_server-stress-test RUN_SERIAL true)
 ADD_KUDU_TEST(scanners-test)
 ADD_KUDU_TEST(ts_tablet_manager-test)

http://git-wip-us.apache.org/repos/asf/kudu/blob/1c1d3ba1/src/kudu/util/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/src/kudu/util/CMakeLists.txt b/src/kudu/util/CMakeLists.txt
index 46a0d31..c91a780 100644
--- a/src/kudu/util/CMakeLists.txt
+++ b/src/kudu/util/CMakeLists.txt
@@ -382,23 +382,23 @@ ADD_KUDU_TEST(random-test)
 ADD_KUDU_TEST(random_util-test)
 ADD_KUDU_TEST(rle-test)
 ADD_KUDU_TEST(rolling_log-test)
-ADD_KUDU_TEST(rw_mutex-test)
+ADD_KUDU_TEST(rw_mutex-test RUN_SERIAL true)
 ADD_KUDU_TEST(rw_semaphore-test)
-ADD_KUDU_TEST(rwc_lock-test)
+ADD_KUDU_TEST(rwc_lock-test RUN_SERIAL true)
 ADD_KUDU_TEST(safe_math-test)
 ADD_KUDU_TEST(scoped_cleanup-test)
 ADD_KUDU_TEST(slice-test)
 ADD_KUDU_TEST(sorted_disjoint_interval_list-test)
 ADD_KUDU_TEST(spinlock_profiling-test)
-ADD_KUDU_TEST(stack_watchdog-test)
+ADD_KUDU_TEST(stack_watchdog-test PROCESSORS 2)
 ADD_KUDU_TEST(status-test)
 ADD_KUDU_TEST(string_case-test)
-ADD_KUDU_TEST(striped64-test)
+ADD_KUDU_TEST(striped64-test RUN_SERIAL true)
 ADD_KUDU_TEST(subprocess-test)
 ADD_KUDU_TEST(thread-test)
 ADD_KUDU_TEST(threadpool-test)
 ADD_KUDU_TEST(throttler-test)
-ADD_KUDU_TEST(trace-test)
+ADD_KUDU_TEST(trace-test PROCESSORS 4)
 ADD_KUDU_TEST(url-coding-test)
 ADD_KUDU_TEST(user-test)
 


Mime
View raw message