Repository: incubator-zeppelin Updated Branches: refs/heads/master d0a304354 -> e9a00d65c
ZEPPELIN-155 Handle port number 0 issue described https://issues.apache.org/jira/browse/ZEPPELIN-155. Allow websocket bind to port 0 Author: Lee moon soo <[email protected]> Closes #144 from Leemoonsoo/ZEPPELIN-155 and squashes the following commits: 003eaee [Lee moon soo] Print correct websocket port 23ff364 [Lee moon soo] allow websocket bind to port 0 Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/e9a00d65 Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/e9a00d65 Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/e9a00d65 Branch: refs/heads/master Commit: e9a00d65c9eee22d738a5a680e5877387cdc74f3 Parents: d0a3043 Author: Lee moon soo <[email protected]> Authored: Tue Jul 7 05:32:18 2015 -0700 Committer: Lee moon soo <[email protected]> Committed: Tue Jul 7 15:05:45 2015 -0700 ---------------------------------------------------------------------- .../java/org/apache/zeppelin/server/ZeppelinServer.java | 10 ++++++---- .../java/org/apache/zeppelin/socket/NotebookServer.java | 6 ------ .../org/apache/zeppelin/conf/ZeppelinConfiguration.java | 8 +++++++- 3 files changed, 13 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/e9a00d65/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java index bd93f80..403d30a 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java @@ -83,6 +83,7 @@ public class ZeppelinServer extends Application { jettyServer = setupJettyServer(conf); notebookServer = setupNotebookServer(conf); + notebookServer.start(); // REST api final ServletContextHandler restApi = setupRestApiContextHandler(); @@ -92,7 +93,9 @@ public class ZeppelinServer extends Application { final ServletContextHandler swagger = setupSwaggerContextHandler(conf); // Web UI - final WebAppContext webApp = setupWebAppContext(conf); + LOG.info("Create zeppelin websocket on {}:{}", notebookServer.getAddress() + .getAddress(), notebookServer.getPort()); + final WebAppContext webApp = setupWebAppContext(conf, notebookServer.getPort()); //Below is commented since zeppelin-docs module is removed. //final WebAppContext webAppSwagg = setupWebAppSwagger(conf); @@ -102,7 +105,6 @@ public class ZeppelinServer extends Application { contexts.setHandlers(new Handler[]{swagger, restApi, webApp}); jettyServer.setHandler(contexts); - notebookServer.start(); LOG.info("Start zeppelin server"); jettyServer.start(); LOG.info("Started"); @@ -254,7 +256,7 @@ public class ZeppelinServer extends Application { } private static WebAppContext setupWebAppContext( - ZeppelinConfiguration conf) { + ZeppelinConfiguration conf, int websocketPort) { WebAppContext webApp = new WebAppContext(); File warPath = new File(conf.getString(ConfVars.ZEPPELIN_WAR)); @@ -270,7 +272,7 @@ public class ZeppelinServer extends Application { } // Explicit bind to root webApp.addServlet( - new ServletHolder(new AppScriptServlet(conf.getWebSocketPort())), + new ServletHolder(new AppScriptServlet(websocketPort)), "/*" ); return webApp; http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/e9a00d65/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java index 659d4df..dd45d97 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/socket/NotebookServer.java @@ -61,22 +61,16 @@ public class NotebookServer extends WebSocketServer implements private static final String DEFAULT_ADDR = "0.0.0.0"; private static final int DEFAULT_PORT = 8282; - private static void creatingwebSocketServerLog(String address, int port) { - LOG.info("Create zeppelin websocket on {}:{}", address, port); - } - Gson gson = new Gson(); Map<String, List<WebSocket>> noteSocketMap = new HashMap<String, List<WebSocket>>(); List<WebSocket> connectedSockets = new LinkedList<WebSocket>(); public NotebookServer() { super(new InetSocketAddress(DEFAULT_ADDR, DEFAULT_PORT)); - creatingwebSocketServerLog(DEFAULT_ADDR, DEFAULT_PORT); } public NotebookServer(String address, int port) { super(new InetSocketAddress(address, port)); - creatingwebSocketServerLog(address, port); } private Notebook notebook() { http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/e9a00d65/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java ---------------------------------------------------------------------- diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java index 6934791..a56b07b 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java @@ -273,8 +273,14 @@ public class ZeppelinConfiguration extends XMLConfiguration { public int getWebSocketPort() { int port = getInt(ConfVars.ZEPPELIN_WEBSOCKET_PORT); + int serverPort = getServerPort(); + if (port < 0) { - return getServerPort() + 1; + if (serverPort <= 0) { + return 0; + } else { + return serverPort + 1; + } } else { return port; }
