From 903c118c3e6f51be14cd7e883ef4be8c5c03098a Mon Sep 17 00:00:00 2001 From: Jeff Schwartz Date: Tue, 2 Oct 2018 23:09:52 -0400 Subject: [PATCH 1/2] Upgraded Spark to 2.8.0 --- aws-serverless-java-container-spark/pom.xml | 2 +- .../spark/embeddedserver/LambdaEmbeddedServer.java | 13 ++++++++----- .../embeddedserver/LambdaEmbeddedServerFactory.java | 5 +++-- .../embeddedserver/LambdaEmbeddedServerTest.java | 2 +- samples/spark/pet-store/pom.xml | 4 ++-- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/aws-serverless-java-container-spark/pom.xml b/aws-serverless-java-container-spark/pom.xml index 5aac26d26..e47a0692b 100644 --- a/aws-serverless-java-container-spark/pom.xml +++ b/aws-serverless-java-container-spark/pom.xml @@ -15,7 +15,7 @@ - 2.7.2 + 2.8.0 diff --git a/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServer.java b/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServer.java index 1db167ae5..f4f227c4e 100644 --- a/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServer.java +++ b/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServer.java @@ -5,6 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import spark.ExceptionMapper; import spark.embeddedserver.EmbeddedServer; import spark.embeddedserver.jetty.websocket.WebSocketHandlerWrapper; import spark.http.matching.MatcherFilter; @@ -24,6 +25,7 @@ public class LambdaEmbeddedServer //------------------------------------------------------------- private Routes applicationRoutes; + private ExceptionMapper exceptionMapper; private MatcherFilter sparkFilter; private StaticFilesConfiguration staticFilesConfiguration; private boolean hasMultipleHandler; @@ -34,14 +36,15 @@ public class LambdaEmbeddedServer // Constructors //------------------------------------------------------------- - LambdaEmbeddedServer(Routes routes, StaticFilesConfiguration filesConfig, boolean multipleHandlers) { + LambdaEmbeddedServer(Routes routes, StaticFilesConfiguration filesConfig, ExceptionMapper exceptionMapper, boolean multipleHandlers) { Timer.start("SPARK_EMBEDDED_SERVER_CONSTRUCTOR"); applicationRoutes = routes; staticFilesConfiguration = filesConfig; hasMultipleHandler = multipleHandlers; + this.exceptionMapper = exceptionMapper; // try to initialize the filter here. - sparkFilter = new MatcherFilter(applicationRoutes, staticFilesConfiguration, true, hasMultipleHandler); + sparkFilter = new MatcherFilter(applicationRoutes, staticFilesConfiguration, exceptionMapper, true, hasMultipleHandler); Timer.stop("SPARK_EMBEDDED_SERVER_CONSTRUCTOR"); } @@ -50,17 +53,17 @@ public class LambdaEmbeddedServer // Implementation - EmbeddedServer //------------------------------------------------------------- @Override - public int ignite(String s, int i, SslStores sslStores, int i1, int i2, int i3) + public int ignite(String host, int port, SslStores sslStores, int maxThreads, int minThreads, int threadIdleTimeoutMillis) throws ContainerInitializationException { Timer.start("SPARK_EMBEDDED_IGNITE"); log.info("Starting Spark server, ignoring port and host"); // if not initialized yet if (sparkFilter == null) { - sparkFilter = new MatcherFilter(applicationRoutes, staticFilesConfiguration, true, hasMultipleHandler); + sparkFilter = new MatcherFilter(applicationRoutes, staticFilesConfiguration, exceptionMapper, true, hasMultipleHandler); } sparkFilter.init(null); Timer.stop("SPARK_EMBEDDED_IGNITE"); - return i; + return port; } diff --git a/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerFactory.java b/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerFactory.java index 255e442a2..a73b0005c 100644 --- a/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerFactory.java +++ b/aws-serverless-java-container-spark/src/main/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerFactory.java @@ -3,6 +3,7 @@ import com.amazonaws.serverless.proxy.internal.testutils.Timer; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import spark.ExceptionMapper; import spark.embeddedserver.EmbeddedServer; import spark.embeddedserver.EmbeddedServerFactory; import spark.route.Routes; @@ -39,10 +40,10 @@ public LambdaEmbeddedServerFactory(LambdaEmbeddedServer server) { @Override - public EmbeddedServer create(Routes routes, StaticFilesConfiguration staticFilesConfiguration, boolean multipleHandlers) { + public EmbeddedServer create(Routes routes, StaticFilesConfiguration staticFilesConfiguration, ExceptionMapper exceptionMapper, boolean multipleHandlers) { Timer.start("SPARK_SERVER_FACTORY_CREATE"); if (embeddedServer == null) { - LambdaEmbeddedServerFactory.embeddedServer = new LambdaEmbeddedServer(routes, staticFilesConfiguration, multipleHandlers); + LambdaEmbeddedServerFactory.embeddedServer = new LambdaEmbeddedServer(routes, staticFilesConfiguration, exceptionMapper, multipleHandlers); } Timer.stop("SPARK_SERVER_FACTORY_CREATE"); return embeddedServer; diff --git a/aws-serverless-java-container-spark/src/test/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerTest.java b/aws-serverless-java-container-spark/src/test/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerTest.java index af4dc275c..8a0e1f4eb 100644 --- a/aws-serverless-java-container-spark/src/test/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerTest.java +++ b/aws-serverless-java-container-spark/src/test/java/com/amazonaws/serverless/proxy/spark/embeddedserver/LambdaEmbeddedServerTest.java @@ -9,7 +9,7 @@ public class LambdaEmbeddedServerTest { - private static LambdaEmbeddedServer server = new LambdaEmbeddedServer(null, null, false); + private static LambdaEmbeddedServer server = new LambdaEmbeddedServer(null, null, null, false); @Test public void webSocket_configureWebSocket_noException() { diff --git a/samples/spark/pet-store/pom.xml b/samples/spark/pet-store/pom.xml index 6cd8af479..320686170 100644 --- a/samples/spark/pet-store/pom.xml +++ b/samples/spark/pet-store/pom.xml @@ -27,14 +27,14 @@ 1.8 1.8 2.9.4 - 2.7.2 + 2.8.0 com.amazonaws.serverless aws-serverless-java-container-spark - [0.1,) + [0.2,) From 5cab2a96ec3b02617f97a6a99f57bcb2c3f6def2 Mon Sep 17 00:00:00 2001 From: Jeff Schwartz Date: Wed, 3 Oct 2018 20:52:57 -0400 Subject: [PATCH 2/2] Updated the spark archetype for spark 2.8.0 --- archetypes/spark/src/main/resources/archetype-resources/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/archetypes/spark/src/main/resources/archetype-resources/pom.xml b/archetypes/spark/src/main/resources/archetype-resources/pom.xml index c78e6d127..a725d7677 100644 --- a/archetypes/spark/src/main/resources/archetype-resources/pom.xml +++ b/archetypes/spark/src/main/resources/archetype-resources/pom.xml @@ -16,7 +16,7 @@ 1.8 1.8 2.9.5 - 2.7.2 + 2.8.0