This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch branch-1.15.x
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/branch-1.15.x by this push:
new 578e96b [tests] TsRecoveryITestDeathTest isn't for for TSAN buidls
578e96b is described below
commit 578e96b6767a447a1aa1d278d4e05cdc0ed3c86b
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]>
(cherry picked from commit 725c8b728a4c9fd582114aa529d7f8fba186bc9d)
Reviewed-on: http://gerrit.cloudera.org:8080/17511
Tested-by: Grant Henke <[email protected]>
Reviewed-by: Bankim Bhavsar <[email protected]>
Reviewed-by: Alexey Serbin <[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.