SLIDER-149 catching up with changes in YARN-913 branch

Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/6cac8a5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/6cac8a5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/6cac8a5b

Branch: refs/heads/feature/SLIDER-149_Support_a_YARN_service_registry
Commit: 6cac8a5ba9c0cb5d0e24c170250070482e85011b
Parents: 8a48392
Author: Steve Loughran <[email protected]>
Authored: Tue Aug 26 17:35:08 2014 +0100
Committer: Steve Loughran <[email protected]>
Committed: Tue Aug 26 17:35:08 2014 +0100

----------------------------------------------------------------------
 .../org/apache/slider/client/SliderClient.java  | 40 +++++++++++++-------
 .../utility/AbstractSliderLaunchedService.java  | 14 ++++---
 2 files changed, 35 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6cac8a5b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java 
b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
index 78aa923..ebf2133 100644
--- a/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
+++ b/slider-core/src/main/java/org/apache/slider/client/SliderClient.java
@@ -19,6 +19,7 @@
 package org.apache.slider.client;
 
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
@@ -1168,11 +1169,8 @@ public class SliderClient extends 
AbstractSliderLaunchedService implements RunSe
     
     addConfOptionToCLI(commandLine, config, REGISTRY_PATH,
         DEFAULT_REGISTRY_PATH);
-    addMandatoryConfOptionToCLI(commandLine, config, 
RegistryConstants.REGISTRY_ZK_QUORUM);
+    addMandatoryConfOptionToCLI(commandLine, config, 
RegistryConstants.KEY_REGISTRY_ZK_QUORUM);
     addMandatoryConfOptionToCLI(commandLine, config, REGISTRY_ZK_QUORUM);
-    define(commandLine, RegistryConstants.REGISTRY_ZK_QUORUM,
-        getRegistryOperations().getCurrentZookeeperQuorum());
-
 
     if (clusterSecure) {
       // if the cluster is secure, make sure that
@@ -1291,12 +1289,7 @@ public class SliderClient extends 
AbstractSliderLaunchedService implements RunSe
       Configuration conf,
       String key) {
     String val = conf.get(key);
-    if (val != null) {
-      define(cmdLine, key, val);
-      return true;
-    } else {
-      return false;
-    }
+    return defineIfSet(cmdLine, key, val);
   }
 
   private String addConfOptionToCLI(CommandLineBuilder cmdLine,
@@ -1309,15 +1302,34 @@ public class SliderClient extends 
AbstractSliderLaunchedService implements RunSe
   }
 
   /**
-   * Add a define command to the CLI
-   * @param cmdLine
-   * @param key
-   * @param val
+   * Add a <code>-D key=val</code> command to the CLI
+   * @param cmdLine command line
+   * @param key key
+   * @param val value
    */
   private void define(CommandLineBuilder cmdLine, String key, String val) {
+    Preconditions.checkArgument(key != null, "null key");
+    Preconditions.checkArgument(val != null, "null value");
     cmdLine.add(Arguments.ARG_DEFINE, key + "=" + val);
   }
 
+  /**
+   * Add a <code>-D key=val</code> command to the CLI if <code>val</code>
+   * is not null
+   * @param cmdLine command line
+   * @param key key
+   * @param val value
+   */
+  private boolean defineIfSet(CommandLineBuilder cmdLine, String key, String 
val) {
+    Preconditions.checkArgument(key != null, "null key");
+    if (val != null) {
+      define(cmdLine, key, val);
+      return true;
+    } else {
+      return false;
+    }
+  }
+
   private void addMandatoryConfOptionToCLI(CommandLineBuilder cmdLine,
       Configuration conf,
       String key) throws BadConfigException {

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/6cac8a5b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java
 
b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java
index 81ddfc2..3dafcd2 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/services/utility/AbstractSliderLaunchedService.java
@@ -18,7 +18,6 @@
 
 package org.apache.slider.server.services.utility;
 
-
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.registry.client.api.RegistryConstants;
@@ -50,7 +49,7 @@ public abstract class AbstractSliderLaunchedService extends
   @Override
   protected void serviceInit(Configuration conf) throws Exception {
     String quorum = lookupZKQuorum();
-    conf.set(RegistryConstants.REGISTRY_ZK_QUORUM, quorum);
+    conf.set(RegistryConstants.KEY_REGISTRY_ZK_QUORUM, quorum);
     super.serviceInit(conf);
   }
 
@@ -75,14 +74,19 @@ public abstract class AbstractSliderLaunchedService extends
    * @throws BadConfigException if it is not there or invalid
    */
   public String lookupZKQuorum() throws BadConfigException {
-    String registryQuorum = 
getConfig().get(RegistryConstants.REGISTRY_ZK_QUORUM);
+    // YARN registry first
+    String registryQuorum = 
getConfig().get(RegistryConstants.KEY_REGISTRY_ZK_QUORUM);
+    
+    // slider value can overrride it
     registryQuorum = getConfig().get(
         SliderXmlConfKeys.REGISTRY_ZK_QUORUM,
         registryQuorum);
+    
+    // though if neither is set: trouble
     if (SliderUtils.isUnset(registryQuorum)) {
       throw new BadConfigException(
           "No Zookeeper quorum provided in the"
-          + " configuration property " + RegistryConstants.REGISTRY_ZK_QUORUM
+          + " configuration property " + 
RegistryConstants.KEY_REGISTRY_ZK_QUORUM
       );
     }
     ZookeeperUtils.splitToHostsAndPortsStrictly(registryQuorum);
@@ -119,7 +123,7 @@ public abstract class AbstractSliderLaunchedService extends
 
     // push back the slider registry entry if needed
     String quorum = lookupZKQuorum();
-    getConfig().set(RegistryConstants.REGISTRY_ZK_QUORUM, quorum);
+    getConfig().set(RegistryConstants.KEY_REGISTRY_ZK_QUORUM, quorum);
     RegistryOperationsService registryWriterService =
         createRegistryOperationsInstance();
     deployChildService(registryWriterService);

Reply via email to