You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ad...@apache.org on 2018/03/06 23:10:19 UTC
[2/4] kudu git commit: build: adjust the number of processors for
various tests
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 <ad...@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 <to...@apache.org>
Authored: Mon Mar 5 16:56:11 2018 -0800
Committer: Todd Lipcon <to...@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)