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
commit 725c8b728a4c9fd582114aa529d7f8fba186bc9d Author: Alexey Serbin <[email protected]> AuthorDate: Sun May 23 14:42:00 2021 -0700 [tests] TsRecoveryITestDeathTest isn't for for TSAN buidls Prior to this patch, the TestRecoverFromOpIdOverflow scenario of the TsRecoveryITestDeathTest hasn't actually run for TSAN builds, but always reported success. A proper way of dealing with such conditions is to either skip a scenario or don't compile it at all as we do for others: * TestCFileBothCacheMemoryTypes.TestReadWriteLargeStrings * ThreadPoolTest.TestDeadlocks * DebugUtilTest.TestUnwindWhileUnsafe Change-Id: Id4ff9cd8943c780d4fe8bf6afb2ef540c07a5c8d Reviewed-on: http://gerrit.cloudera.org:8080/17491 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Andrew Wong <[email protected]> --- src/kudu/integration-tests/ts_recovery-itest.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kudu/integration-tests/ts_recovery-itest.cc b/src/kudu/integration-tests/ts_recovery-itest.cc index 94ae9cc..35b93d8 100644 --- a/src/kudu/integration-tests/ts_recovery-itest.cc +++ b/src/kudu/integration-tests/ts_recovery-itest.cc @@ -547,18 +547,17 @@ TEST_P(TsRecoveryITest, TestChangeMaxCellSize) { work.rows_inserted())); } -class TsRecoveryITestDeathTest : public TsRecoveryITest {}; +#if !defined(THREAD_SANITIZER) +// TSAN cannot handle spawning threads after fork(), so this class and its +// test scenario isn't present for TSAN builds. +class TsRecoveryITestDeathTest : public TsRecoveryITest { +}; // Test that tablet bootstrap can automatically repair itself if it finds an // overflowed OpId index written to the log caused by KUDU-1933. // Also serves as a regression itest for KUDU-1933 by writing ops with a high // term and index. TEST_P(TsRecoveryITestDeathTest, TestRecoverFromOpIdOverflow) { -#if defined(THREAD_SANITIZER) - // TSAN cannot handle spawning threads after fork(). - return; -#endif - // Create the initial tablet files on disk, then shut down the cluster so we // can meddle with the WAL. NO_FATALS(StartClusterOneTs()); @@ -696,6 +695,7 @@ TEST_P(TsRecoveryITestDeathTest, TestRecoverFromOpIdOverflow) { }); NO_FATALS(cluster_->AssertNoCrashes()); } +#endif // #if !defined(THREAD_SANITIZER) ... // A set of threads which pick rows which are known to exist in the table // and issue random updates against them.
