You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by gr...@apache.org on 2020/09/17 02:01:11 UTC

[kudu] 01/02: test: reduce the number of files used by TestDuplicatedRowsRandomCompaction

This is an automated email from the ASF dual-hosted git repository.

granthenke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git

commit 17940718507542e54150fa6e9e916b72f4ad1908
Author: Andrew Wong <aw...@cloudera.com>
AuthorDate: Wed Sep 16 16:46:29 2020 -0700

    test: reduce the number of files used by TestDuplicatedRowsRandomCompaction
    
    The test generates a large number (10 + 9 + ... + 1 = 55) of rowsets
    with a schema containing 3 columns and a workload that has creates delta
    files. On MacOS this is problematic, as 1) by using the file block
    manager, we create a single file per CFile, and 2) the default file
    limit is 256 (at least on macOS 10.15.4).
    
    This patch alleviates this by adjusting the test to use fewer (5 + 4 +
    ... 1 = 15) rowsets. Despite the randomness in the workload, the test
    passed on my machine 100/100 times.
    
    Change-Id: Idf938f24b4a79537337f7a53d731f3162716145d
    Reviewed-on: http://gerrit.cloudera.org:8080/16464
    Reviewed-by: Grant Henke <gr...@apache.org>
    Tested-by: Grant Henke <gr...@apache.org>
---
 src/kudu/tablet/compaction-test.cc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/kudu/tablet/compaction-test.cc b/src/kudu/tablet/compaction-test.cc
index 9d78ff5..9cc0ef0 100644
--- a/src/kudu/tablet/compaction-test.cc
+++ b/src/kudu/tablet/compaction-test.cc
@@ -729,7 +729,11 @@ void TestCompaction::AddUpdateAndDelete(RowSet* rs, CompactionInputRow* row, int
 // The verification is performed against a vector of expected CompactionInputRow that we build
 // as we insert/update/delete.
 TEST_F(TestCompaction, TestDuplicatedRowsRandomCompaction) {
-  const int kBaseNumRowSets = 10;
+  // NOTE: this test may generate a lot of rowsets; be mindful that some
+  // environments default to a low number of max open files (e.g. 256 on macOS
+  // 10.15.4), and that if we're using the file block manager, each rowset will
+  // use several files.
+  const int kBaseNumRowSets = 5;
   const int kNumRowsPerRowSet = 10;
 
   int total_num_rows = kBaseNumRowSets * kNumRowsPerRowSet;