Repository: incubator-slider
Updated Branches:
  refs/heads/develop 4e8c6ffbb -> aa21ad64d


SLIDER-350: AM not coming up on Windows


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

Branch: refs/heads/develop
Commit: a5df39755bfd044f1d2ee4cc49e8d96f80a855d2
Parents: 4e8c6ff
Author: Steve Loughran <ste...@apache.org>
Authored: Fri Aug 22 14:32:39 2014 +0100
Committer: Steve Loughran <ste...@apache.org>
Committed: Fri Aug 22 14:32:39 2014 +0100

----------------------------------------------------------------------
 .../server/appmaster/SliderAppMaster.java       |  2 +-
 .../server/appmaster/web/AgentService.java      | 28 +++++---------------
 .../appmaster/web/rest/agent/AgentWebApp.java   | 16 ++++++++---
 .../LaunchedWorkflowCompositeService.java       |  4 +++
 .../services/workflow/ClosingService.java       |  3 +++
 .../web/rest/agent/TestAMAgentWebServices.java  |  2 +-
 .../workflow/TestWorkflowClosingService.java    |  4 +--
 7 files changed, 29 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
index c006d0d..b4515f1 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java
@@ -813,7 +813,7 @@ public class SliderAppMaster extends 
AbstractSliderLaunchedService
   }
 
   private void startAgentWebApp(MapOperations appInformation,
-                                Configuration serviceConf) {
+                                Configuration serviceConf) throws IOException {
     URL[] urls = ((URLClassLoader) AgentWebApp.class.getClassLoader() 
).getURLs();
     StringBuilder sb = new StringBuilder("AM classpath:");
     for (URL url : urls) {

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
index 08338e8..f840035 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/AgentService.java
@@ -16,38 +16,22 @@
  */
 package org.apache.slider.server.appmaster.web;
 
-import org.apache.hadoop.service.AbstractService;
 import org.apache.slider.server.appmaster.web.rest.agent.AgentWebApp;
+import org.apache.slider.server.services.workflow.ClosingService;
+import org.apache.slider.server.services.workflow.WorkflowCompositeService;
 
 /**
- *
+ * agent service gives the agent webapp lifecycle integration
  */
-public class AgentService extends AbstractService {
-  private volatile AgentWebApp webApp;
+public class AgentService extends ClosingService<AgentWebApp> {
+
 
   public AgentService(String name) {
     super(name);
   }
 
   public AgentService(String name, AgentWebApp app) {
-    super(name);
-    webApp = app;
+    super(name, app);
   }
 
-  @Override
-  protected void serviceStart() throws Exception {
-
-  }
-
-  /**
-   * Stop operation stops the webapp; sets the reference to null
-   * @throws Exception
-   */
-  @Override
-  protected void serviceStop() throws Exception {
-    if (webApp != null) {
-      webApp.stop();
-      webApp = null;
-    }
-  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentWebApp.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentWebApp.java
 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentWebApp.java
index 54d2b1f..8aac490 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentWebApp.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/appmaster/web/rest/agent/AgentWebApp.java
@@ -36,13 +36,15 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.ws.rs.ext.Provider;
+import java.io.Closeable;
 import java.io.File;
+import java.io.IOException;
 import java.util.Set;
 
 /**
  *
  */
-public class AgentWebApp {
+public class AgentWebApp implements Closeable {
   protected static final Logger LOG = 
LoggerFactory.getLogger(AgentWebApp.class);
   private int port;
   private int securedPort;
@@ -66,7 +68,7 @@ public class AgentWebApp {
       return this;
     }
 
-    public AgentWebApp start() {
+    public AgentWebApp start() throws IOException {
       if (configsMap == null) {
         throw new IllegalStateException("No SSL Configuration Available");
       }
@@ -100,8 +102,12 @@ public class AgentWebApp {
 
       try {
         agentServer.start();
+      } catch (IOException e) {
+        LOG.error("Unable to start agent server", e);
+        throw e;
       } catch (Exception e) {
         LOG.error("Unable to start agent server", e);
+        throw new IOException("Unable to start agent server: " + e, e);
       }
 
       AgentWebApp webApp = new AgentWebApp();
@@ -191,12 +197,14 @@ public class AgentWebApp {
     return securedPort;
   }
 
-  public void stop() {
+  public void close() throws IOException{
     //need to stop server and reset injector
     try {
       agentServer.stop();
+    } catch (IOException e) {
+      throw e;
     } catch (Exception e) {
-      LOG.warn("Unable to stop agent server", e);
+      throw new IOException(e.toString(), e);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/main/java/org/apache/slider/server/services/utility/LaunchedWorkflowCompositeService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/services/utility/LaunchedWorkflowCompositeService.java
 
b/slider-core/src/main/java/org/apache/slider/server/services/utility/LaunchedWorkflowCompositeService.java
index 0d47c3b..e939c20 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/services/utility/LaunchedWorkflowCompositeService.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/services/utility/LaunchedWorkflowCompositeService.java
@@ -28,6 +28,10 @@ import 
org.apache.slider.server.services.workflow.WorkflowCompositeService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+/**
+ * This is a workflow compositoe service which can be launched from the CLI
+ * ... catches the arguments and implements a stub runService operation.
+ */
 public class LaunchedWorkflowCompositeService extends WorkflowCompositeService
     implements RunService {
   private static final Logger log = LoggerFactory.getLogger(

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/main/java/org/apache/slider/server/services/workflow/ClosingService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/main/java/org/apache/slider/server/services/workflow/ClosingService.java
 
b/slider-core/src/main/java/org/apache/slider/server/services/workflow/ClosingService.java
index 7a475cc..8b711aa 100644
--- 
a/slider-core/src/main/java/org/apache/slider/server/services/workflow/ClosingService.java
+++ 
b/slider-core/src/main/java/org/apache/slider/server/services/workflow/ClosingService.java
@@ -33,6 +33,9 @@ public class ClosingService<C extends Closeable> extends 
AbstractService {
 
   private C closeable;
 
+  public ClosingService(String name) {
+    super(name);
+  }
 
   /**
    * Construct an instance of the service

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
 
b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
index 7e2ab3c..8590cbc 100644
--- 
a/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
+++ 
b/slider-core/src/test/java/org/apache/slider/server/appmaster/web/rest/agent/TestAMAgentWebServices.java
@@ -152,7 +152,7 @@ public class TestAMAgentWebServices {
 
   @After
   public void tearDown () throws Exception {
-    webApp.stop();
+    webApp.close();
     webApp = null;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a5df3975/slider-core/src/test/java/org/apache/slider/server/services/workflow/TestWorkflowClosingService.java
----------------------------------------------------------------------
diff --git 
a/slider-core/src/test/java/org/apache/slider/server/services/workflow/TestWorkflowClosingService.java
 
b/slider-core/src/test/java/org/apache/slider/server/services/workflow/TestWorkflowClosingService.java
index 638547f..39516b7 100644
--- 
a/slider-core/src/test/java/org/apache/slider/server/services/workflow/TestWorkflowClosingService.java
+++ 
b/slider-core/src/test/java/org/apache/slider/server/services/workflow/TestWorkflowClosingService.java
@@ -37,7 +37,7 @@ public class TestWorkflowClosingService extends 
WorkflowServiceTestBase {
 
   @Test
   public void testNullClose() throws Throwable {
-    ClosingService<OpenClose> svc = new ClosingService<OpenClose>(null);
+    ClosingService<OpenClose> svc = new ClosingService<OpenClose>("", null);
     svc.init(new Configuration());
     svc.start();
     assertNull(svc.getCloseable());
@@ -81,7 +81,7 @@ public class TestWorkflowClosingService extends 
WorkflowServiceTestBase {
   @Test
   public void testCloseSelf() throws Throwable {
     ClosingService<ClosingService> svc =
-        new ClosingService<ClosingService>(null);
+        new ClosingService<ClosingService>("");
     svc.setCloseable(svc);
     svc.stop();
   }

Reply via email to