You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org> on 2016/08/05 03:11:08 UTC

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Michael Blow has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1048

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................

Update Jetty to Latest Released Version (9.3.11)

Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
---
M asterixdb/asterix-app/pom.xml
M asterixdb/asterix-external-data/pom.xml
M asterixdb/pom.xml
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
6 files changed, 77 insertions(+), 65 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/48/1048/1

diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index be1c124..b06a03e 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -178,20 +178,20 @@
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
+      <artifactId>javax.servlet-api</artifactId>
       <type>jar</type>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-servlet</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
diff --git a/asterixdb/asterix-external-data/pom.xml b/asterixdb/asterix-external-data/pom.xml
index a05af3d..d4fa801 100644
--- a/asterixdb/asterix-external-data/pom.xml
+++ b/asterixdb/asterix-external-data/pom.xml
@@ -183,7 +183,7 @@
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
+      <artifactId>javax.servlet-api</artifactId>
       <type>jar</type>
     </dependency>
     <dependency>
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index 4fb3e37..3172cff 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -68,7 +68,7 @@
     <hadoop.version>2.2.0</hadoop.version>
     <junit.version>4.11</junit.version>
     <commons.io.version>2.4</commons.io.version>
-    <servlet.api.version>2.5</servlet.api.version>
+    <servlet.api.version>3.1.0</servlet.api.version>
     <json.version>20090211</json.version>
     <jacoco.version>0.7.6.201602180812</jacoco.version>
   </properties>
@@ -261,6 +261,11 @@
             </configuration>
           </execution>
         </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>2.10</version>
       </plugin>
     </plugins>
     <pluginManagement>
@@ -756,7 +761,7 @@
       </dependency>
       <dependency>
         <groupId>javax.servlet</groupId>
-        <artifactId>servlet-api</artifactId>
+        <artifactId>javax.servlet-api</artifactId>
         <version>${servlet.api.version}</version>
         <type>jar</type>
       </dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
index 2b59165..26b4cb6 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
@@ -41,14 +41,14 @@
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-webapp</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
index aa15c38..75b7473 100755
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
@@ -31,12 +31,11 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.eclipse.jetty.http.HttpMethods;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.handler.AbstractHandler;
-
 import org.apache.hyracks.control.cc.ClusterControllerService;
 import org.apache.hyracks.control.common.work.SynchronizableWork;
+import org.eclipse.jetty.http.HttpMethod;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 public class ApplicationInstallationHandler extends AbstractHandler {
     private ClusterControllerService ccs;
@@ -64,57 +63,64 @@
             String rootDir = ccs.getServerContext().getBaseDir().toString();
             final String deploymentDir = rootDir.endsWith(File.separator) ? rootDir + "applications/" + deployIdString
                     : rootDir + File.separator + "/applications/" + File.separator + deployIdString;
-            if (HttpMethods.PUT.equals(request.getMethod())) {
-                class OutputStreamGetter extends SynchronizableWork {
-                    private OutputStream os;
+            switch (HttpMethod.valueOf(request.getMethod())) {
+                case PUT: {
+                    class OutputStreamGetter extends SynchronizableWork {
+                        private OutputStream os;
 
-                    @Override
-                    protected void doRun() throws Exception {
-                        FileUtils.forceMkdir(new File(deploymentDir));
-                        String fileName = params[1];
-                        File jarFile = new File(deploymentDir, fileName);
-                        os = new FileOutputStream(jarFile);
+                        @Override
+                        protected void doRun() throws Exception {
+                            FileUtils.forceMkdir(new File(deploymentDir));
+                            String fileName = params[1];
+                            File jarFile = new File(deploymentDir, fileName);
+                            os = new FileOutputStream(jarFile);
+                        }
                     }
-                }
-                OutputStreamGetter r = new OutputStreamGetter();
-                try {
-                    ccs.getWorkQueue().scheduleAndSync(r);
-                } catch (Exception e) {
-                    throw new IOException(e);
-                }
-                try {
-                    IOUtils.copyLarge(request.getInputStream(), r.os);
-                } finally {
-                    r.os.close();
-                }
-            } else if (HttpMethods.GET.equals(request.getMethod())) {
-                class InputStreamGetter extends SynchronizableWork {
-                    private InputStream is;
-
-                    @Override
-                    protected void doRun() throws Exception {
-                        String fileName = params[1];
-                        File jarFile = new File(deploymentDir, fileName);
-                        is = new FileInputStream(jarFile);
-                    }
-                }
-                InputStreamGetter r = new InputStreamGetter();
-                try {
-                    ccs.getWorkQueue().scheduleAndSync(r);
-                } catch (Exception e) {
-                    throw new IOException(e);
-                }
-                if (r.is == null) {
-                    response.setStatus(HttpServletResponse.SC_NOT_FOUND);
-                } else {
-                    response.setContentType("application/octet-stream");
-                    response.setStatus(HttpServletResponse.SC_OK);
+                    OutputStreamGetter r = new OutputStreamGetter();
                     try {
-                        IOUtils.copyLarge(r.is, response.getOutputStream());
-                    } finally {
-                        r.is.close();
+                        ccs.getWorkQueue().scheduleAndSync(r);
+                    } catch (Exception e) {
+                        throw new IOException(e);
                     }
+                    try {
+                        IOUtils.copyLarge(request.getInputStream(), r.os);
+                    } finally {
+                        r.os.close();
+                    }
+                    break;
                 }
+                case GET: {
+                    class InputStreamGetter extends SynchronizableWork {
+                        private InputStream is;
+
+                        @Override
+                        protected void doRun() throws Exception {
+                            String fileName = params[1];
+                            File jarFile = new File(deploymentDir, fileName);
+                            is = new FileInputStream(jarFile);
+                        }
+                    }
+                    InputStreamGetter r = new InputStreamGetter();
+                    try {
+                        ccs.getWorkQueue().scheduleAndSync(r);
+                    } catch (Exception e) {
+                        throw new IOException(e);
+                    }
+                    if (r.is == null) {
+                        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+                    } else {
+                        response.setContentType("application/octet-stream");
+                        response.setStatus(HttpServletResponse.SC_OK);
+                        try {
+                            IOUtils.copyLarge(r.is, response.getOutputStream());
+                        } finally {
+                            r.is.close();
+                        }
+                    }
+                    break;
+                }
+                default:
+                    throw new IllegalArgumentException(request.getMethod());
             }
             baseRequest.setHandled(true);
         } catch (IOException e) {
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
index ac98b64..b55e65d 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
@@ -18,6 +18,11 @@
  */
 package org.apache.hyracks.control.cc.web;
 
+import java.util.EnumSet;
+import java.util.logging.Logger;
+
+import javax.servlet.DispatcherType;
+
 import org.apache.hyracks.control.cc.ClusterControllerService;
 import org.apache.hyracks.control.cc.adminconsole.HyracksAdminConsoleApplication;
 import org.apache.hyracks.control.cc.web.util.JSONOutputRequestHandler;
@@ -29,31 +34,27 @@
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Handler;
 import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.ContextHandler;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.HandlerCollection;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
 import org.eclipse.jetty.servlet.DefaultServlet;
 import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletContextHandler;
-
-import javax.servlet.DispatcherType;
-import java.util.EnumSet;
-import java.util.logging.Logger;
 
 public class WebServer {
     private final static Logger LOGGER = Logger.getLogger(WebServer.class.getName());
 
     private final ClusterControllerService ccs;
     private final Server server;
-    private final SelectChannelConnector connector;
+    private final ServerConnector connector;
     private final HandlerCollection handlerCollection;
 
     public WebServer(ClusterControllerService ccs) throws Exception {
         this.ccs = ccs;
         server = new Server();
 
-        connector = new SelectChannelConnector();
+        connector = new ServerConnector(server);
 
         server.setConnectors(new Connector[] { connector });
 

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/2114/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Patch Set 1: Code-Review+2

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Michael Blow has submitted this change and it was merged.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Update Jetty to Latest Released Version (9.3.11)

Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1048
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
M asterixdb/asterix-app/pom.xml
M asterixdb/asterix-external-data/pom.xml
M asterixdb/pom.xml
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
6 files changed, 77 insertions(+), 65 deletions(-)

Approvals:
  Till Westmann: Looks good to me, approved
  Jenkins: Verified; Verified

Objections:
  Jenkins: Violations found



diff --git a/asterixdb/asterix-app/pom.xml b/asterixdb/asterix-app/pom.xml
index be1c124..b06a03e 100644
--- a/asterixdb/asterix-app/pom.xml
+++ b/asterixdb/asterix-app/pom.xml
@@ -178,20 +178,20 @@
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
+      <artifactId>javax.servlet-api</artifactId>
       <type>jar</type>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-servlet</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
diff --git a/asterixdb/asterix-external-data/pom.xml b/asterixdb/asterix-external-data/pom.xml
index a05af3d..d4fa801 100644
--- a/asterixdb/asterix-external-data/pom.xml
+++ b/asterixdb/asterix-external-data/pom.xml
@@ -183,7 +183,7 @@
   <dependencies>
     <dependency>
       <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
+      <artifactId>javax.servlet-api</artifactId>
       <type>jar</type>
     </dependency>
     <dependency>
diff --git a/asterixdb/pom.xml b/asterixdb/pom.xml
index 4fb3e37..3172cff 100644
--- a/asterixdb/pom.xml
+++ b/asterixdb/pom.xml
@@ -68,7 +68,7 @@
     <hadoop.version>2.2.0</hadoop.version>
     <junit.version>4.11</junit.version>
     <commons.io.version>2.4</commons.io.version>
-    <servlet.api.version>2.5</servlet.api.version>
+    <servlet.api.version>3.1.0</servlet.api.version>
     <json.version>20090211</json.version>
     <jacoco.version>0.7.6.201602180812</jacoco.version>
   </properties>
@@ -261,6 +261,11 @@
             </configuration>
           </execution>
         </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>2.10</version>
       </plugin>
     </plugins>
     <pluginManagement>
@@ -756,7 +761,7 @@
       </dependency>
       <dependency>
         <groupId>javax.servlet</groupId>
-        <artifactId>servlet-api</artifactId>
+        <artifactId>javax.servlet-api</artifactId>
         <version>${servlet.api.version}</version>
         <type>jar</type>
       </dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
index 2b59165..26b4cb6 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/pom.xml
@@ -41,14 +41,14 @@
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-server</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
     <dependency>
       <groupId>org.eclipse.jetty</groupId>
       <artifactId>jetty-webapp</artifactId>
-      <version>8.0.0.RC0</version>
+      <version>9.3.11.v20160721</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
index aa15c38..75b7473 100755
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/ApplicationInstallationHandler.java
@@ -31,12 +31,11 @@
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.eclipse.jetty.http.HttpMethods;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.handler.AbstractHandler;
-
 import org.apache.hyracks.control.cc.ClusterControllerService;
 import org.apache.hyracks.control.common.work.SynchronizableWork;
+import org.eclipse.jetty.http.HttpMethod;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.handler.AbstractHandler;
 
 public class ApplicationInstallationHandler extends AbstractHandler {
     private ClusterControllerService ccs;
@@ -64,57 +63,64 @@
             String rootDir = ccs.getServerContext().getBaseDir().toString();
             final String deploymentDir = rootDir.endsWith(File.separator) ? rootDir + "applications/" + deployIdString
                     : rootDir + File.separator + "/applications/" + File.separator + deployIdString;
-            if (HttpMethods.PUT.equals(request.getMethod())) {
-                class OutputStreamGetter extends SynchronizableWork {
-                    private OutputStream os;
+            switch (HttpMethod.valueOf(request.getMethod())) {
+                case PUT: {
+                    class OutputStreamGetter extends SynchronizableWork {
+                        private OutputStream os;
 
-                    @Override
-                    protected void doRun() throws Exception {
-                        FileUtils.forceMkdir(new File(deploymentDir));
-                        String fileName = params[1];
-                        File jarFile = new File(deploymentDir, fileName);
-                        os = new FileOutputStream(jarFile);
+                        @Override
+                        protected void doRun() throws Exception {
+                            FileUtils.forceMkdir(new File(deploymentDir));
+                            String fileName = params[1];
+                            File jarFile = new File(deploymentDir, fileName);
+                            os = new FileOutputStream(jarFile);
+                        }
                     }
-                }
-                OutputStreamGetter r = new OutputStreamGetter();
-                try {
-                    ccs.getWorkQueue().scheduleAndSync(r);
-                } catch (Exception e) {
-                    throw new IOException(e);
-                }
-                try {
-                    IOUtils.copyLarge(request.getInputStream(), r.os);
-                } finally {
-                    r.os.close();
-                }
-            } else if (HttpMethods.GET.equals(request.getMethod())) {
-                class InputStreamGetter extends SynchronizableWork {
-                    private InputStream is;
-
-                    @Override
-                    protected void doRun() throws Exception {
-                        String fileName = params[1];
-                        File jarFile = new File(deploymentDir, fileName);
-                        is = new FileInputStream(jarFile);
-                    }
-                }
-                InputStreamGetter r = new InputStreamGetter();
-                try {
-                    ccs.getWorkQueue().scheduleAndSync(r);
-                } catch (Exception e) {
-                    throw new IOException(e);
-                }
-                if (r.is == null) {
-                    response.setStatus(HttpServletResponse.SC_NOT_FOUND);
-                } else {
-                    response.setContentType("application/octet-stream");
-                    response.setStatus(HttpServletResponse.SC_OK);
+                    OutputStreamGetter r = new OutputStreamGetter();
                     try {
-                        IOUtils.copyLarge(r.is, response.getOutputStream());
-                    } finally {
-                        r.is.close();
+                        ccs.getWorkQueue().scheduleAndSync(r);
+                    } catch (Exception e) {
+                        throw new IOException(e);
                     }
+                    try {
+                        IOUtils.copyLarge(request.getInputStream(), r.os);
+                    } finally {
+                        r.os.close();
+                    }
+                    break;
                 }
+                case GET: {
+                    class InputStreamGetter extends SynchronizableWork {
+                        private InputStream is;
+
+                        @Override
+                        protected void doRun() throws Exception {
+                            String fileName = params[1];
+                            File jarFile = new File(deploymentDir, fileName);
+                            is = new FileInputStream(jarFile);
+                        }
+                    }
+                    InputStreamGetter r = new InputStreamGetter();
+                    try {
+                        ccs.getWorkQueue().scheduleAndSync(r);
+                    } catch (Exception e) {
+                        throw new IOException(e);
+                    }
+                    if (r.is == null) {
+                        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+                    } else {
+                        response.setContentType("application/octet-stream");
+                        response.setStatus(HttpServletResponse.SC_OK);
+                        try {
+                            IOUtils.copyLarge(r.is, response.getOutputStream());
+                        } finally {
+                            r.is.close();
+                        }
+                    }
+                    break;
+                }
+                default:
+                    throw new IllegalArgumentException(request.getMethod());
             }
             baseRequest.setHandled(true);
         } catch (IOException e) {
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
index ac98b64..b55e65d 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/web/WebServer.java
@@ -18,6 +18,11 @@
  */
 package org.apache.hyracks.control.cc.web;
 
+import java.util.EnumSet;
+import java.util.logging.Logger;
+
+import javax.servlet.DispatcherType;
+
 import org.apache.hyracks.control.cc.ClusterControllerService;
 import org.apache.hyracks.control.cc.adminconsole.HyracksAdminConsoleApplication;
 import org.apache.hyracks.control.cc.web.util.JSONOutputRequestHandler;
@@ -29,31 +34,27 @@
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Handler;
 import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.ContextHandler;
 import org.eclipse.jetty.server.handler.ContextHandlerCollection;
 import org.eclipse.jetty.server.handler.HandlerCollection;
-import org.eclipse.jetty.server.nio.SelectChannelConnector;
 import org.eclipse.jetty.servlet.DefaultServlet;
 import org.eclipse.jetty.servlet.FilterHolder;
 import org.eclipse.jetty.servlet.ServletContextHandler;
-
-import javax.servlet.DispatcherType;
-import java.util.EnumSet;
-import java.util.logging.Logger;
 
 public class WebServer {
     private final static Logger LOGGER = Logger.getLogger(WebServer.class.getName());
 
     private final ClusterControllerService ccs;
     private final Server server;
-    private final SelectChannelConnector connector;
+    private final ServerConnector connector;
     private final HandlerCollection handlerCollection;
 
     public WebServer(ClusterControllerService ccs) throws Exception {
         this.ccs = ccs;
         server = new Server();
 
-        connector = new SelectChannelConnector();
+        connector = new ServerConnector(server);
 
         server.setConnectors(new Connector[] { connector });
 

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Patch Set 1:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Patch Set 1: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/242/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No

Change in asterixdb[master]: Update Jetty to Latest Released Version (9.3.11)

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Update Jetty to Latest Released Version (9.3.11)
......................................................................


Patch Set 1:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/242/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1048
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I387198865c8c44dc0d1aabe9a8eb06eb056f694b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No