You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ja...@apache.org on 2019/07/31 22:37:42 UTC

[incubator-pinot] branch master updated: Fix the flakiness of PinotControllerModeTest by enabling the periodic rebalance (#4487)

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

jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new fcc6994  Fix the flakiness of PinotControllerModeTest by enabling the periodic rebalance (#4487)
fcc6994 is described below

commit fcc6994b2577d72007d8bfb896ba7e4469bd6d8c
Author: Xiaotian (Jackie) Jiang <17...@users.noreply.github.com>
AuthorDate: Wed Jul 31 15:37:37 2019 -0700

    Fix the flakiness of PinotControllerModeTest by enabling the periodic rebalance (#4487)
---
 .../controller/helix/PinotControllerModeTest.java  | 34 ++++++++++------------
 1 file changed, 15 insertions(+), 19 deletions(-)

diff --git a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeTest.java b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeTest.java
index 14461be..c7a0ce2 100644
--- a/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeTest.java
+++ b/pinot-controller/src/test/java/org/apache/pinot/controller/helix/PinotControllerModeTest.java
@@ -49,12 +49,11 @@ public class PinotControllerModeTest extends ControllerTest {
     // Start a Helix-only controller
     ControllerConf helixOnlyControllerConfig = getDefaultControllerConfiguration();
     helixOnlyControllerConfig.setControllerMode(ControllerConf.ControllerMode.HELIX_ONLY);
-    ControllerStarter helixOnlyController = getControllerStarter(helixOnlyControllerConfig);
-    helixOnlyController.start();
-    TestUtils.waitForCondition(aVoid -> helixOnlyController.getHelixControllerManager().isConnected(), TIMEOUT_IN_MS,
+    startController(helixOnlyControllerConfig);
+    TestUtils.waitForCondition(aVoid -> _helixManager.isConnected(), TIMEOUT_IN_MS,
         "Failed to start the Helix-only controller");
 
-    helixOnlyController.stop();
+    stopController();
   }
 
   @Test
@@ -62,23 +61,20 @@ public class PinotControllerModeTest extends ControllerTest {
     // Start the first dual-mode controller
     ControllerConf firstDualModeControllerConfig = getDefaultControllerConfiguration();
     firstDualModeControllerConfig.setControllerMode(ControllerConf.ControllerMode.DUAL);
-    ControllerStarter firstDualModeController = getControllerStarter(firstDualModeControllerConfig);
-    firstDualModeController.start();
-    HelixManager helixControllerManager = firstDualModeController.getHelixControllerManager();
-    HelixAdmin helixAdmin = helixControllerManager.getClusterManagmentTool();
-    TestUtils.waitForCondition(aVoid -> helixControllerManager.isConnected(), TIMEOUT_IN_MS,
+    startController(firstDualModeControllerConfig);
+    TestUtils.waitForCondition(aVoid -> _helixManager.isConnected(), TIMEOUT_IN_MS,
         "Failed to start the first dual-mode controller");
 
     // There should be no partition in the external view because the resource is disabled
     TestUtils.waitForCondition(aVoid -> {
       ExternalView leadControllerResourceExternalView =
-          helixAdmin.getResourceExternalView(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME);
+          _helixAdmin.getResourceExternalView(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME);
       return leadControllerResourceExternalView.getPartitionSet().isEmpty();
     }, TIMEOUT_IN_MS, "There should be no partition in the disabled resource's external view");
 
     // Enable the lead controller resource, and the first controller should be the MASTER for all partitions
-    helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, true);
-    checkInstanceState(helixAdmin, "MASTER");
+    _helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, true);
+    checkInstanceState(_helixAdmin, "MASTER");
 
     // Start the second dual-mode controller
     ControllerConf secondDualModeControllerConfig = getDefaultControllerConfiguration();
@@ -91,22 +87,22 @@ public class PinotControllerModeTest extends ControllerTest {
             TIMEOUT_IN_MS, "Failed to start the second dual-mode controller");
 
     // There should still be only one MASTER instance for each partition
-    checkInstanceState(helixAdmin, "MASTER");
+    checkInstanceState(_helixAdmin, "MASTER");
 
     // Disable the lead controller resource, and there should be only one OFFLINE instance for each partition
-    helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, false);
-    checkInstanceState(helixAdmin, "OFFLINE");
+    _helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, false);
+    checkInstanceState(_helixAdmin, "OFFLINE");
 
     // Re-enable the lead controller resource, and there should be only one MASTER instance for each partition
-    helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, true);
-    checkInstanceState(helixAdmin, "MASTER");
+    _helixAdmin.enableResource(getHelixClusterName(), LEAD_CONTROLLER_RESOURCE_NAME, true);
+    checkInstanceState(_helixAdmin, "MASTER");
 
     // Stop the second controller, and there should still be only one MASTER instance for each partition
     secondDualModeController.stop();
-    checkInstanceState(helixAdmin, "MASTER");
+    checkInstanceState(_helixAdmin, "MASTER");
 
     // Stop the first controller
-    firstDualModeController.stop();
+    stopController();
   }
 
   // TODO: enable it after removing ControllerLeadershipManager which requires both CONTROLLER and PARTICIPANT


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org