From commits-return-21350-archive-asf-public=cust-asf.ponee.io@accumulo.apache.org Thu Jan 11 00:46:03 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 73F8E18076D for ; Thu, 11 Jan 2018 00:46:03 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 64331160C43; Wed, 10 Jan 2018 23:46:03 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id ACC01160C40 for ; Thu, 11 Jan 2018 00:46:02 +0100 (CET) Received: (qmail 86585 invoked by uid 500); 10 Jan 2018 23:46:01 -0000 Mailing-List: contact commits-help@accumulo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@accumulo.apache.org Delivered-To: mailing list commits@accumulo.apache.org Received: (qmail 86565 invoked by uid 99); 10 Jan 2018 23:46:01 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jan 2018 23:46:01 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 3F0D184B72; Wed, 10 Jan 2018 23:46:01 +0000 (UTC) Date: Wed, 10 Jan 2018 23:46:03 +0000 To: "commits@accumulo.apache.org" Subject: [accumulo] 01/01: Merge branch 'fix-advertise-host-ACCUMULO-4776' into 1.8 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: ctubbsii@apache.org In-Reply-To: <151562796107.3102.14317920248914806119@gitbox.apache.org> References: <151562796107.3102.14317920248914806119@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: accumulo X-Git-Refname: refs/heads/1.8 X-Git-Reftype: branch X-Git-Rev: c2a6f8fd69011ce13b63ad5c885846ee2a6eb6e8 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20180110234601.3F0D184B72@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. ctubbsii pushed a commit to branch 1.8 in repository https://gitbox.apache.org/repos/asf/accumulo.git commit c2a6f8fd69011ce13b63ad5c885846ee2a6eb6e8 Merge: 7fc61d4 bad30a1 Author: Christopher Tubbs AuthorDate: Wed Jan 10 18:17:26 2018 -0500 Merge branch 'fix-advertise-host-ACCUMULO-4776' into 1.8 .../java/org/apache/accumulo/monitor/Monitor.java | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java index a35518e,b3e3d5c..e9026c2 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java @@@ -17,10 -17,10 +17,12 @@@ package org.apache.accumulo.monitor; import static java.nio.charset.StandardCharsets.UTF_8; +import static org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly; + import java.net.InetAddress; + import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@@ -456,48 -453,50 +458,55 @@@ public class Monitor } Monitor.START_TIME = System.currentTimeMillis(); - int port = config.getConfiguration().getPort(Property.MONITOR_PORT); - try { - log.debug("Creating monitor on port " + port); - server = new EmbeddedWebServer(hostname, port); - } catch (Throwable ex) { - log.error("Unable to start embedded web server", ex); - throw new RuntimeException(ex); + int ports[] = config.getConfiguration().getPort(Property.MONITOR_PORT); + for (int port : ports) { + try { + log.debug("Creating monitor on port " + port); + server = new EmbeddedWebServer(hostname, port); + server.addServlet(DefaultServlet.class, "/"); + server.addServlet(OperationServlet.class, "/op"); + server.addServlet(MasterServlet.class, "/master"); + server.addServlet(TablesServlet.class, "/tables"); + server.addServlet(TServersServlet.class, "/tservers"); + server.addServlet(ProblemServlet.class, "/problems"); + server.addServlet(GcStatusServlet.class, "/gc"); + server.addServlet(LogServlet.class, "/log"); + server.addServlet(XMLServlet.class, "/xml"); + server.addServlet(JSONServlet.class, "/json"); + server.addServlet(VisServlet.class, "/vis"); + server.addServlet(ScanServlet.class, "/scans"); + server.addServlet(BulkImportServlet.class, "/bulkImports"); + server.addServlet(Summary.class, "/trace/summary"); + server.addServlet(ListType.class, "/trace/listType"); + server.addServlet(ShowTrace.class, "/trace/show"); + server.addServlet(ReplicationServlet.class, "/replication"); + if (server.isUsingSsl()) + server.addServlet(ShellServlet.class, "/shell"); + server.start(); + break; + } catch (Throwable ex) { + log.error("Unable to start embedded web server", ex); + } + } + if (!server.isRunning()) { + throw new RuntimeException("Unable to start embedded web server on ports: " + Arrays.toString(ports)); } - - server.addServlet(DefaultServlet.class, "/"); - server.addServlet(OperationServlet.class, "/op"); - server.addServlet(MasterServlet.class, "/master"); - server.addServlet(TablesServlet.class, "/tables"); - server.addServlet(TServersServlet.class, "/tservers"); - server.addServlet(ProblemServlet.class, "/problems"); - server.addServlet(GcStatusServlet.class, "/gc"); - server.addServlet(LogServlet.class, "/log"); - server.addServlet(XMLServlet.class, "/xml"); - server.addServlet(JSONServlet.class, "/json"); - server.addServlet(VisServlet.class, "/vis"); - server.addServlet(ScanServlet.class, "/scans"); - server.addServlet(Summary.class, "/trace/summary"); - server.addServlet(ListType.class, "/trace/listType"); - server.addServlet(ShowTrace.class, "/trace/show"); - server.addServlet(ReplicationServlet.class, "/replication"); - if (server.isUsingSsl()) - server.addServlet(ShellServlet.class, "/shell"); - server.start(); - try { - log.debug("Using " + hostname + " to advertise monitor location in ZooKeeper"); - - String monitorAddress = HostAndPort.fromParts(hostname, server.getPort()).toString(); + String advertiseHost = hostname; + if (advertiseHost.equals("0.0.0.0")) { + try { + advertiseHost = InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + log.error("Unable to get hostname", e); + } + } + log.debug("Using {} to advertise monitor location in ZooKeeper", advertiseHost); + try { + String monitorAddress = HostAndPort.fromParts(advertiseHost, server.getPort()).toString(); ZooReaderWriter.getInstance().putPersistentData(ZooUtil.getRoot(instance) + Constants.ZMONITOR_HTTP_ADDR, monitorAddress.getBytes(UTF_8), NodeExistsPolicy.OVERWRITE); - log.info("Set monitor address in zookeeper to " + monitorAddress); + log.info("Set monitor address in zookeeper to {}", monitorAddress); } catch (Exception ex) { log.error("Unable to set monitor HTTP address in zookeeper", ex); } -- To stop receiving notification emails like this one, please contact "commits@accumulo.apache.org" .