You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by to...@apache.org on 2016/03/02 18:39:48 UTC

incubator-kudu git commit: fuzz-itest: decrease update multipler in TSAN builds

Repository: incubator-kudu
Updated Branches:
  refs/heads/master dd6dbda35 -> 817d63f57


fuzz-itest: decrease update multipler in TSAN builds

I ran the fuzz test in TSAN 500 times on GCE and they all passed,
but we're still seeing write timeouts on EC2 slaves. Looking at
the test on my machine, the batches with 1000 updates against the
same row are very slow due to rolling through the deltas in
DeltaMemStore::CheckRowDeleted() on a TSAN build. On my machine,
it was taking ~15 seconds per batch, and if we got unlucky with the
random generation, we might have a few UPDATE ops in a row before
a flush, which could easily put it over the 60 second timeout,
especially on a slower box.

This just fixes the issue by not using such large batches on TSAN
builds.

Change-Id: If795cd0d01f9bc7cc2a05172d58c2fa7d7b2dbd7
Reviewed-on: http://gerrit.cloudera.org:8080/2401
Tested-by: Todd Lipcon <to...@apache.org>
Reviewed-by: Todd Lipcon <to...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/incubator-kudu/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kudu/commit/817d63f5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kudu/tree/817d63f5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kudu/diff/817d63f5

Branch: refs/heads/master
Commit: 817d63f5707ed33295f793d29b9d4869e64c328d
Parents: dd6dbda
Author: Todd Lipcon <to...@apache.org>
Authored: Wed Mar 2 02:11:05 2016 -0800
Committer: Todd Lipcon <to...@apache.org>
Committed: Wed Mar 2 17:38:13 2016 +0000

----------------------------------------------------------------------
 src/kudu/integration-tests/fuzz-itest.cc | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/817d63f5/src/kudu/integration-tests/fuzz-itest.cc
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/fuzz-itest.cc b/src/kudu/integration-tests/fuzz-itest.cc
index 6bd3aba..da585cc 100644
--- a/src/kudu/integration-tests/fuzz-itest.cc
+++ b/src/kudu/integration-tests/fuzz-itest.cc
@@ -423,14 +423,21 @@ TEST_F(FuzzTest, TestFuzz) {
   RunFuzzCase(test_ops);
 }
 
-// Generates a random test case, but the UPDATEs are all repeated 1000 times.
+// Generates a random test case, but the UPDATEs are all repeated many times.
 // This results in very row_keye batches which are likely to span multiple delta blocks
 // when flushed.
 TEST_F(FuzzTest, TestFuzzHugeBatches) {
   SeedRandom();
   vector<TestOp> test_ops;
   GenerateTestCase(&test_ops, AllowSlowTests() ? 1000 : 50);
-  RunFuzzCase(test_ops, 1000);
+  int update_multiplier;
+#ifdef THREAD_SANITIZER
+  // TSAN builds run more slowly, so 1000 can cause timeouts.
+  update_multiplier = 100;
+#else
+  update_multiplier = 1000;
+#endif
+  RunFuzzCase(test_ops, update_multiplier);
 }
 
 // A particular test case which previously failed TestFuzz.