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) {

Reply via email to