You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by sm...@apache.org on 2014/05/23 04:09:11 UTC

git commit: Misc issues, add support to wait for INSTALLED, fix storm app spec

Repository: incubator-slider
Updated Branches:
  refs/heads/feature/SLIDER_56_Cleanup_Storm_Package 960953775 -> 10a3581a7


Misc issues, add support to wait for INSTALLED, fix storm app spec


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

Branch: refs/heads/feature/SLIDER_56_Cleanup_Storm_Package
Commit: 10a3581a76421614e92eae8ba4b161524f201d71
Parents: 9609537
Author: Sumit Mohanty <sm...@hortonworks.com>
Authored: Thu May 22 19:09:05 2014 -0700
Committer: Sumit Mohanty <sm...@hortonworks.com>
Committed: Thu May 22 19:09:05 2014 -0700

----------------------------------------------------------------------
 app-packages/storm-v0_91/appConfig.json         | 14 ++++++-------
 app-packages/storm-v0_91/metainfo.xml           |  4 ++++
 .../providers/agent/ComponentCommandOrder.java  | 21 ++++++++++++++------
 .../agent/TestComponentCommandOrder.java        | 19 ++++++++----------
 4 files changed, 34 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/10a3581a/app-packages/storm-v0_91/appConfig.json
----------------------------------------------------------------------
diff --git a/app-packages/storm-v0_91/appConfig.json b/app-packages/storm-v0_91/appConfig.json
index 4251dac..ce76b16 100644
--- a/app-packages/storm-v0_91/appConfig.json
+++ b/app-packages/storm-v0_91/appConfig.json
@@ -42,14 +42,14 @@
     "site.storm-site.storm.local.mode.zmq": "false",
     "site.storm-site.topology.max.task.parallelism": "null",
     "site.storm-site.storm.zookeeper.port": "2181",
-    "site.storm-site.nimbus.childopts": "-Xmx1024m -Djava.security.auth.login.config=/etc/storm/storm_jaas.conf -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM",
-    "site.storm-site.worker.childopts": "-Xmx768m -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM",
+    "site.storm-site.nimbus.childopts": "-Xmx1024m -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=${NN_HOST},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Nimbus_JVM",
+    "site.storm-site.worker.childopts": "-Xmx768m -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=${NN_HOST},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Worker_%ID%_JVM",
     "site.storm-site.drpc.queue.size": "128",
     "site.storm-site.storm.zookeeper.retry.times": "5",
     "site.storm-site.nimbus.monitor.freq.secs": "10",
     "site.storm-site.storm.cluster.mode": "distributed",
     "site.storm-site.dev.zookeeper.path": "${AGENT_WORK_ROOT}/app/tmp/dev-storm-zookeeper",
-    "site.storm-site.drpc.invocations.port": "${DRPC_SERVER.ALLOCATED_PORT}",
+    "site.storm-site.drpc.invocations.port": "0",
     "site.storm-site.storm.zookeeper.root": "/storm",
     "site.storm-site.logviewer.childopts": "-Xmx128m",
     "site.storm-site.transactional.zookeeper.port": "null",
@@ -66,7 +66,7 @@
     "site.storm-site.logviewer.appender.name": "A1",
     "site.storm-site.nimbus.host": "${NIMBUS_HOST}",
     "site.storm-site.ui.port": "${STORM_UI_SERVER.ALLOCATED_PORT}",
-    "site.storm-site.supervisor.slots.ports": "[${SUPERVISOR.ALLOCATED_PORT}, ${SUPERVISOR.ALLOCATED_PORT}]",
+    "site.storm-site.supervisor.slots.ports": "[0, 0]",
     "site.storm-site.nimbus.file.copy.expiration.secs": "600",
     "site.storm-site.supervisor.monitor.frequency.secs": "3",
     "site.storm-site.transactional.zookeeper.servers": "null",
@@ -81,14 +81,14 @@
     "site.storm-site.topology.executor.receive.buffer.size": "1024",
     "site.storm-site.topology.stats.sample.rate": "0.05",
     "site.storm-site.topology.fall.back.on.java.serialization": "true",
-    "site.storm-site.supervisor.childopts": "-Xmx256m -Djava.security.auth.login.config=/etc/storm/storm_jaas.conf -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=${SUPERVISOR.ALLOCATED_PORT} -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host={0},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM",
+    "site.storm-site.supervisor.childopts": "-Xmx256m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=0 -javaagent:${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/lib/jmxetric-1.0.4.jar=host=${NN_HOST},port=8669,wireformat31x=true,mode=multicast,config=${AGENT_WORK_ROOT}/app/install/apache-storm-0.9.1.2.1.1.0-237/contrib/storm-jmxetric/conf/jmxetric-conf.xml,process=Supervisor_JVM",
     "site.storm-site.topology.enable.message.timeouts": "true",
     "site.storm-site.storm.messaging.netty.max_wait_ms": "1000",
     "site.storm-site.nimbus.topology.validator": "backtype.storm.nimbus.DefaultTopologyValidator",
     "site.storm-site.nimbus.supervisor.timeout.secs": "60",
     "site.storm-site.topology.disruptor.wait.strategy": "com.lmax.disruptor.BlockingWaitStrategy",
     "site.storm-site.nimbus.inbox.jar.expiration.secs": "3600",
-    "site.storm-site.drpc.port": "${DRPC_SERVER.ALLOCATED_PORT}",
+    "site.storm-site.drpc.port": "0",
     "site.storm-site.topology.kryo.factory": "backtype.storm.serialization.DefaultKryoFactory",
     "site.storm-site.storm.zookeeper.retry.interval": "1000",
     "site.storm-site.storm.messaging.netty.max_retries": "30",
@@ -103,7 +103,7 @@
     "site.storm-site.topology.trident.batch.emit.interval.millis": "500",
     "site.storm-site.topology.builtin.metrics.bucket.size.secs": "60",
     "site.storm-site.storm.thrift.transport": "backtype.storm.security.auth.SimpleTransportPlugin",
-    "site.storm-site.logviewer.port": "${SUPERVISOR.ALLOCATED_PORT}",
+    "site.storm-site.logviewer.port": "0",
     "site.storm-site.topology.debug": "false"
   },
   "components": {

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/10a3581a/app-packages/storm-v0_91/metainfo.xml
----------------------------------------------------------------------
diff --git a/app-packages/storm-v0_91/metainfo.xml b/app-packages/storm-v0_91/metainfo.xml
index 31950ab..9913d8c 100644
--- a/app-packages/storm-v0_91/metainfo.xml
+++ b/app-packages/storm-v0_91/metainfo.xml
@@ -46,6 +46,10 @@
 
       <commandOrders>
         <commandOrder>
+          <command>NIMBUS-START</command>
+          <requires>SUPERVISOR-INSTALLED,STORM_UI_SERVER-INSTALLED,DRPC_SERVER-INSTALLED,STORM_REST_API-INSTALLED</requires>
+        </commandOrder>
+        <commandOrder>
           <command>SUPERVISOR-START</command>
           <requires>NIMBUS-STARTED</requires>
         </commandOrder>

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/10a3581a/slider-core/src/main/java/org/apache/slider/providers/agent/ComponentCommandOrder.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/ComponentCommandOrder.java b/slider-core/src/main/java/org/apache/slider/providers/agent/ComponentCommandOrder.java
index 6808d63..0dce4bb 100644
--- a/slider-core/src/main/java/org/apache/slider/providers/agent/ComponentCommandOrder.java
+++ b/slider-core/src/main/java/org/apache/slider/providers/agent/ComponentCommandOrder.java
@@ -93,7 +93,7 @@ public class ComponentCommandOrder {
 
     Command cmd = Command.valueOf(cmdStr);
 
-    if(cmd != Command.START) {
+    if (cmd != Command.START) {
       throw new IllegalArgumentException("Dependency order can only be specified for START.");
     }
     return new ComponentCommand(compStr, cmd);
@@ -113,8 +113,8 @@ public class ComponentCommandOrder {
     String stateStr = compStStr.substring(splitIndex + 1);
 
     State state = State.valueOf(stateStr);
-    if(state != State.STARTED) {
-      throw new IllegalArgumentException("Dependency order can only be specified against STARTED.");
+    if (state != State.STARTED && state != State.INSTALLED) {
+      throw new IllegalArgumentException("Dependency order can only be specified against STARTED/INSTALLED.");
     }
     return new ComponentState(compStr, state);
   }
@@ -129,9 +129,18 @@ public class ComponentCommandOrder {
                     component, command, currState.getCompName(), currState.getState());
           if (currState.getCompName().equals(stateToMatch.componentName)) {
             if (currState.getState() != stateToMatch.state) {
-              log.info("Cannot schedule {} {} as dependency {} is {}",
-                       component, command, currState.getCompName(), currState.getState());
-              canExecute = false;
+              if (stateToMatch.state == State.STARTED) {
+                log.info("Cannot schedule {} {} as dependency {} is {}",
+                         component, command, currState.getCompName(), currState.getState());
+                canExecute = false;
+              } else {
+                //state is INSTALLED
+                if (currState.getState() != State.STARTING && currState.getState() != State.STARTED) {
+                  log.info("Cannot schedule {} {} as dependency {} is {}",
+                           component, command, currState.getCompName(), currState.getState());
+                  canExecute = false;
+                }
+              }
             }
           }
           if (!canExecute) {

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/10a3581a/slider-core/src/test/java/org/apache/slider/providers/agent/TestComponentCommandOrder.java
----------------------------------------------------------------------
diff --git a/slider-core/src/test/java/org/apache/slider/providers/agent/TestComponentCommandOrder.java b/slider-core/src/test/java/org/apache/slider/providers/agent/TestComponentCommandOrder.java
index 181371f..3ef1839 100644
--- a/slider-core/src/test/java/org/apache/slider/providers/agent/TestComponentCommandOrder.java
+++ b/slider-core/src/test/java/org/apache/slider/providers/agent/TestComponentCommandOrder.java
@@ -40,7 +40,7 @@ public class TestComponentCommandOrder {
     co2.setRequires("C-STARTED");
     CommandOrder co3 = new CommandOrder();
     co3.setCommand("B-START");
-    co3.setRequires("C-STARTED,D-STARTED,E-STARTED");
+    co3.setRequires("C-STARTED,D-STARTED,E-INSTALLED");
 
     ComponentCommandOrder cco = new ComponentCommandOrder(Arrays.asList(co1, co2, co3));
     ComponentInstanceState cisB = new ComponentInstanceState("B", "cid", "aid");
@@ -73,11 +73,17 @@ public class TestComponentCommandOrder {
     cisD.setState(State.STARTED);
     Assert.assertTrue(cco.canExecute("B", Command.START, Arrays.asList(cisB, cisC, cisD, cisE)));
 
-    cisE2.setState(State.INSTALLED);
+    cisE2.setState(State.INSTALLING);
     Assert.assertFalse(cco.canExecute("B", Command.START, Arrays.asList(cisE, cisE2)));
 
+    cisE2.setState(State.INSTALLED);
+    Assert.assertTrue(cco.canExecute("B", Command.START, Arrays.asList(cisE, cisE2)));
+
     cisE2.setState(State.STARTED);
     Assert.assertTrue(cco.canExecute("B", Command.START, Arrays.asList(cisE, cisE2)));
+
+    cisE2.setState(State.STARTING);
+    Assert.assertTrue(cco.canExecute("B", Command.START, Arrays.asList(cisE, cisE2)));
   }
 
   @Test
@@ -138,14 +144,5 @@ public class TestComponentCommandOrder {
     } catch (IllegalArgumentException ie) {
       log.info(ie.getMessage());
     }
-
-    co.setCommand(" A-START");
-    co.setRequires("B-INSTALLED");
-    try {
-      cco = new ComponentCommandOrder(Arrays.asList(co));
-      Assert.fail("Instantiation should have failed.");
-    } catch (IllegalArgumentException ie) {
-      log.info(ie.getMessage());
-    }
   }
 }