kudu-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aw...@apache.org
Subject [kudu] 05/05: test: deflake ksck_remote-test TestChecksumSnapshotCurrentTimestamp
Date Sat, 24 Aug 2019 00:59:14 GMT
This is an automated email from the ASF dual-hosted git repository.

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

commit 8af4883be0d49d4fe69ef697345d1feee799c935
Author: Andrew Wong <awong@apache.org>
AuthorDate: Fri Jul 19 19:11:40 2019 -0700

    test: deflake ksck_remote-test TestChecksumSnapshotCurrentTimestamp
    
    I saw a failure of the test with the following error:
    
    W0720 00:44:31.890009  4561 tablet_service.cc:2357] Rejecting scan request for tablet
9542a9eebae84c1b993235a309c866d0: Uninitialized: safe time has not yet been initialized
    /data0/jenkins/workspace/kudu-pre-commit-unittest-ASAN/src/kudu/tools/ksck_remote-test.cc:451:
Failure
    Failed
    Bad status: Aborted: 1 errors were detected
    
    This patch wraps the checksum with an ASSERT_EVENTUALLY, since the scan
    should eventually pass once a leader is elected or writes succeed.
    
    Change-Id: I51aeaebca599697e444b244ae15259dea4dbe949
    Reviewed-on: http://gerrit.cloudera.org:8080/13887
    Tested-by: Kudu Jenkins
    Reviewed-by: Hao Hao <hao.hao@cloudera.com>
---
 src/kudu/tools/ksck_remote-test.cc | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/kudu/tools/ksck_remote-test.cc b/src/kudu/tools/ksck_remote-test.cc
index ba4328a..a64e268 100644
--- a/src/kudu/tools/ksck_remote-test.cc
+++ b/src/kudu/tools/ksck_remote-test.cc
@@ -445,10 +445,14 @@ TEST_F(RemoteKsckTest, TestChecksumSnapshotCurrentTimestamp) {
     ASSERT_OK(ksck_->CheckClusterRunning());
     ASSERT_OK(ksck_->FetchTableAndTabletInfo());
     ASSERT_OK(ksck_->FetchInfoFromTabletServers());
-    ASSERT_OK(ksck_->ChecksumData(KsckChecksumOptions(MonoDelta::FromSeconds(10),
-                                                      MonoDelta::FromSeconds(10),
-                                                      16, true,
-                                                      KsckChecksumOptions::kCurrentTimestamp)));
+    // It's possible for scans to fail because the tablets haven't been written
+    // to yet and haven't elected a leader.
+    ASSERT_EVENTUALLY([&] {
+      ASSERT_OK(ksck_->ChecksumData(KsckChecksumOptions(MonoDelta::FromSeconds(10),
+                                                        MonoDelta::FromSeconds(10),
+                                                        16, true,
+                                                        KsckChecksumOptions::kCurrentTimestamp)));
+    });
   }
   ASSERT_OK(promise.Get());
 }


Mime
View raw message