You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by mb...@apache.org on 2018/06/12 07:29:48 UTC

asterixdb git commit: [NO ISSUE] Expose public address / ports for CC services

Repository: asterixdb
Updated Branches:
  refs/heads/release-0.9.4-pre-rc 6f5239942 -> 4e2ebaaca


[NO ISSUE] Expose public address / ports for CC services

Change-Id: I61f8988b32f13a1eba029fa7120d6e753aacc151
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2704
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/4e2ebaac
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/4e2ebaac
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/4e2ebaac

Branch: refs/heads/release-0.9.4-pre-rc
Commit: 4e2ebaacaa1efa6512ab539671ada9b842062197
Parents: 6f52399
Author: Michael Blow <mb...@apache.org>
Authored: Tue Jun 12 00:01:04 2018 -0400
Committer: Michael Blow <mb...@apache.org>
Committed: Mon Jun 11 23:42:23 2018 -0700

----------------------------------------------------------------------
 .../control/cc/ClusterControllerService.java    |  4 +-
 .../control/common/controllers/CCConfig.java    | 43 +++++++++++++++++++-
 2 files changed, 44 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/4e2ebaac/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java
index 6faa8dd..8953bec 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java
@@ -215,8 +215,8 @@ public class ClusterControllerService implements IControllerService {
         clusterIPC.start();
         clientIPC.start();
         webServer.start();
-        info = new ClusterControllerInfo(ccId, ccConfig.getClientListenAddress(), ccConfig.getClientListenPort(),
-                webServer.getListeningPort());
+        info = new ClusterControllerInfo(ccId, ccConfig.getClientPublicAddress(), ccConfig.getClientPublicPort(),
+                ccConfig.getConsolePublicPort());
         timer.schedule(sweeper, 0, ccConfig.getHeartbeatPeriodMillis());
         jobLog.open();
         startApplication();

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/4e2ebaac/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java
index 889e140..f83df6e 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/controllers/CCConfig.java
@@ -45,14 +45,19 @@ public class CCConfig extends ControllerConfig {
     public enum Option implements IOption {
         APP_CLASS(STRING, (String) null),
         ADDRESS(STRING, InetAddress.getLoopbackAddress().getHostAddress()),
+        PUBLIC_ADDRESS(STRING, ADDRESS),
         CLUSTER_LISTEN_ADDRESS(STRING, ADDRESS),
         CLUSTER_LISTEN_PORT(INTEGER, 1099),
-        CLUSTER_PUBLIC_ADDRESS(STRING, CLUSTER_LISTEN_ADDRESS),
+        CLUSTER_PUBLIC_ADDRESS(STRING, PUBLIC_ADDRESS),
         CLUSTER_PUBLIC_PORT(INTEGER, CLUSTER_LISTEN_PORT),
         CLIENT_LISTEN_ADDRESS(STRING, ADDRESS),
         CLIENT_LISTEN_PORT(INTEGER, 1098),
+        CLIENT_PUBLIC_ADDRESS(STRING, PUBLIC_ADDRESS),
+        CLIENT_PUBLIC_PORT(INTEGER, CLIENT_LISTEN_PORT),
         CONSOLE_LISTEN_ADDRESS(STRING, ADDRESS),
         CONSOLE_LISTEN_PORT(INTEGER, 16001),
+        CONSOLE_PUBLIC_ADDRESS(STRING, PUBLIC_ADDRESS),
+        CONSOLE_PUBLIC_PORT(INTEGER, CONSOLE_LISTEN_PORT),
         HEARTBEAT_PERIOD(LONG, 10000L), // TODO (mblow): add time unit
         HEARTBEAT_MAX_MISSES(INTEGER, 5),
         PROFILE_DUMP_PERIOD(INTEGER, 0),
@@ -118,6 +123,10 @@ public class CCConfig extends ControllerConfig {
                     return "Application CC main class";
                 case ADDRESS:
                     return "Default bind address for all services on this cluster controller";
+                case PUBLIC_ADDRESS:
+                    return "Default public address that other processes should use to contact this cluster controller. "
+                            + "All services will advertise this address unless a service-specific public address is "
+                            + "supplied.";
                 case CLUSTER_LISTEN_ADDRESS:
                     return "Sets the IP Address to listen for connections from NCs";
                 case CLUSTER_LISTEN_PORT:
@@ -130,10 +139,18 @@ public class CCConfig extends ControllerConfig {
                     return "Sets the IP Address to listen for connections from clients";
                 case CLIENT_LISTEN_PORT:
                     return "Sets the port to listen for connections from clients";
+                case CLIENT_PUBLIC_ADDRESS:
+                    return "The IP Address which clients should use to connect";
+                case CLIENT_PUBLIC_PORT:
+                    return "The port which clients should use to connect";
                 case CONSOLE_LISTEN_ADDRESS:
                     return "Sets the listen address for the Cluster Controller";
                 case CONSOLE_LISTEN_PORT:
                     return "Sets the http port for the Cluster Controller)";
+                case CONSOLE_PUBLIC_ADDRESS:
+                    return "Sets the address on which to contact the http console for the Cluster Controller";
+                case CONSOLE_PUBLIC_PORT:
+                    return "Sets the port on which to contact the http console for the Cluster Controller)";
                 case HEARTBEAT_PERIOD:
                     return "Sets the time duration between two heartbeats from each node controller in milliseconds";
                 case HEARTBEAT_MAX_MISSES:
@@ -261,6 +278,22 @@ public class CCConfig extends ControllerConfig {
         configManager.set(Option.CLIENT_LISTEN_PORT, clientListenPort);
     }
 
+    public String getClientPublicAddress() {
+        return getAppConfig().getString(Option.CLIENT_PUBLIC_ADDRESS);
+    }
+
+    public void setClientPublicAddress(String clientPublicAddress) {
+        configManager.set(Option.CLIENT_PUBLIC_ADDRESS, clientPublicAddress);
+    }
+
+    public int getClientPublicPort() {
+        return getAppConfig().getInt(Option.CLIENT_PUBLIC_PORT);
+    }
+
+    public void setClientPublicPort(int clientPublicPort) {
+        configManager.set(Option.CLIENT_PUBLIC_PORT, clientPublicPort);
+    }
+
     public int getConsoleListenPort() {
         return getAppConfig().getInt(Option.CONSOLE_LISTEN_PORT);
     }
@@ -269,6 +302,14 @@ public class CCConfig extends ControllerConfig {
         configManager.set(Option.CONSOLE_LISTEN_PORT, consoleListenPort);
     }
 
+    public int getConsolePublicPort() {
+        return getAppConfig().getInt(Option.CONSOLE_PUBLIC_PORT);
+    }
+
+    public void setConsolePublicPort(int consolePublicPort) {
+        configManager.set(Option.CONSOLE_PUBLIC_PORT, consolePublicPort);
+    }
+
     public long getHeartbeatPeriodMillis() {
         return getAppConfig().getLong(Option.HEARTBEAT_PERIOD);
     }