Repository: kudu
Updated Branches:
  refs/heads/master 2eba7001a -> 9badc5003


[mini-cluster] allow more time for masters start up

In case of sanitizer-enabled builds running on slow VMs it might take
more than 5 seconds to start Kudu master.

This patch is to fix master_cert_authority-itest flakiness.

Change-Id: Ic3dd9aa9c1620d69b6ae4a877912e5d63e4d5a85
Reviewed-on: http://gerrit.cloudera.org:8080/6571
Reviewed-by: Adar Dembo <[email protected]>
Tested-by: Kudu Jenkins


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

Branch: refs/heads/master
Commit: 9badc5003adc6312469c9256b34f325a74bedb24
Parents: 2eba700
Author: Alexey Serbin <[email protected]>
Authored: Thu Apr 6 14:30:02 2017 -0700
Committer: Alexey Serbin <[email protected]>
Committed: Thu Apr 6 22:33:39 2017 +0000

----------------------------------------------------------------------
 src/kudu/integration-tests/mini_cluster.cc | 10 +++++-----
 src/kudu/integration-tests/mini_cluster.h  |  1 +
 2 files changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kudu/blob/9badc500/src/kudu/integration-tests/mini_cluster.cc
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/mini_cluster.cc 
b/src/kudu/integration-tests/mini_cluster.cc
index c910502..549d2f2 100644
--- a/src/kudu/integration-tests/mini_cluster.cc
+++ b/src/kudu/integration-tests/mini_cluster.cc
@@ -299,10 +299,11 @@ Status MiniCluster::CreateClient(KuduClientBuilder* 
builder,
 }
 
 Status MiniCluster::GetLeaderMasterIndex(int* idx) const {
-  const MonoTime kDeadline = MonoTime::Now() + MonoDelta::FromSeconds(5);
+  const MonoTime deadline = MonoTime::Now() +
+      MonoDelta::FromSeconds(kMasterStartupWaitTimeSeconds);
 
   int leader_idx = -1;
-  while (MonoTime::Now() < kDeadline) {
+  while (MonoTime::Now() < deadline) {
     for (int i = 0; i < num_masters(); i++) {
       master::MiniMaster* mm = mini_master(i);
       if (!mm->is_running() || mm->master()->IsShutdown()) {
@@ -315,11 +316,10 @@ Status MiniCluster::GetLeaderMasterIndex(int* idx) const {
         break;
       }
     }
-    if (leader_idx == -1) {
-      SleepFor(MonoDelta::FromMilliseconds(100));
-    } else {
+    if (leader_idx != -1) {
       break;
     }
+    SleepFor(MonoDelta::FromMilliseconds(100));
   }
   if (leader_idx == -1) {
     return Status::NotFound("Leader master was not found within deadline");

http://git-wip-us.apache.org/repos/asf/kudu/blob/9badc500/src/kudu/integration-tests/mini_cluster.h
----------------------------------------------------------------------
diff --git a/src/kudu/integration-tests/mini_cluster.h 
b/src/kudu/integration-tests/mini_cluster.h
index cf49aee..a372e48 100644
--- a/src/kudu/integration-tests/mini_cluster.h
+++ b/src/kudu/integration-tests/mini_cluster.h
@@ -169,6 +169,7 @@ class MiniCluster : public MiniClusterBase {
  private:
   enum {
     kRegistrationWaitTimeSeconds = 15,
+    kMasterStartupWaitTimeSeconds = 30,
   };
 
   bool running_;

Reply via email to