This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 43abc0b1e KUDU-3660 do not run AdminCliTest.TestRebuildTables under
TSAN
43abc0b1e is described below
commit 43abc0b1ea9c31d2fa67cb187af0c0364f638e49
Author: Alexey Serbin <[email protected]>
AuthorDate: Wed Sep 10 14:05:45 2025 -0700
KUDU-3660 do not run AdminCliTest.TestRebuildTables under TSAN
The AdminCliTest.TestRebuildTables often (almost certainly) fails when
running under TSAN with --stress_cpu_threads=N, where N is the number
of CPU cores on the test machine. With the increase of the number
of retries and timeout intervals it might require several minutes to
complete if running with --stress_cpu_threads=N. With that, I think
the most appropriate resolution is simply not run it under TSAN:
we do have enough coverage for the functionality with RELEASE, DEBUG,
and ASAN builds, and the building blocks of the scenario are covered
in TSAN builds in many other test scenarios.
In addition, this changelist adds SKIP_IF_SLOW_NOT_ALLOWED() into the
scenario: in my experiments, the fastest run of RELEASE bits of this
scenario was about 5 seconds on 8 core 2GHz CPU machine without
--stress_cpu_threads, while the informal threshold for slow Kudu tests
is 3 seconds.
Change-Id: Ia09bba0cb6f014ffd46529d4fec607e19caf1d2c
Reviewed-on: http://gerrit.cloudera.org:8080/23414
Reviewed-by: Abhishek Chennaka <[email protected]>
Tested-by: Alexey Serbin <[email protected]>
---
src/kudu/tools/kudu-admin-test.cc | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/kudu/tools/kudu-admin-test.cc
b/src/kudu/tools/kudu-admin-test.cc
index 37eaa09c2..2f8d34161 100644
--- a/src/kudu/tools/kudu-admin-test.cc
+++ b/src/kudu/tools/kudu-admin-test.cc
@@ -3857,8 +3857,16 @@ void delete_table_in_syscatalog(const string& wal_dir,
NO_FATALS(master.Shutdown());
}
+#if !defined(THREAD_SANITIZER)
// Rebuild tables according to part of tables not all tables.
+//
+// KUDU-3660: this test isn't built and run under thread sanitizer because
+// it often times out on WaitForTSAndReplicas() when running
+// on busy machines or if running with many CPU stress test threads
+// (i.e. --stress_cpu_threads=N, where N is greater or equal
+// to the number of machine's CPU cores) when built with TSAN
support
TEST_F(AdminCliTest, TestRebuildTables) {
+ SKIP_IF_SLOW_NOT_ALLOWED();
FLAGS_num_tablet_servers = 3;
NO_FATALS(BuildAndStart({}, {}, {}, /*create_table*/false));
// Create 3 tables.
@@ -3915,6 +3923,7 @@ TEST_F(AdminCliTest, TestRebuildTables) {
ClusterVerifier cv2(cluster_.get());
NO_FATALS(cv2.CheckCluster());
}
+#endif // #if !defined(THREAD_SANITIZER) ...
// Test that the master rebuilder ignores tombstones.
TEST_F(AdminCliTest, TestRebuildMasterWithTombstones) {