This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 8430a6f  [IOTDB-415] stop the MetricService if the service start 
failed but the socket has... (#729)
8430a6f is described below

commit 8430a6fbadb838123df0e455d3b72a893529402d
Author: Xiangdong Huang <[email protected]>
AuthorDate: Mon Jan 13 15:44:17 2020 +0800

    [IOTDB-415] stop the MetricService if the service start failed but the 
socket has... (#729)
    
    * stop the MetricService if the service start failed but the socket has 
been initialized.
    
    * fix the commitlog info from issue 414 to 415
    
    Co-authored-by: Jialin Qiao <[email protected]>
---
 .../org/apache/iotdb/db/service/MetricsService.java   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git 
a/server/src/main/java/org/apache/iotdb/db/service/MetricsService.java 
b/server/src/main/java/org/apache/iotdb/db/service/MetricsService.java
index 63315ef..e3c9ff5 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/MetricsService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/MetricsService.java
@@ -89,11 +89,20 @@ public class MetricsService implements MetricsServiceMBean, 
IService {
     metricsWebUI.initialize();
     server = metricsWebUI.getServer(port);
     metricsSystem.start();
-    executorService.execute(new MetricsServiceThread(server));
-    logger.info("{}: start {} successfully, listening on ip {} port {}",
-        IoTDBConstant.GLOBAL_DB_NAME, this.getID().getName(),
-        IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
-        IoTDBDescriptor.getInstance().getConfig().getMetricsPort());
+    try {
+      executorService.execute(new MetricsServiceThread(server));
+      logger.info("{}: start {} successfully, listening on ip {} port {}",
+          IoTDBConstant.GLOBAL_DB_NAME, this.getID().getName(),
+          IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
+          IoTDBDescriptor.getInstance().getConfig().getMetricsPort());
+    } catch (NullPointerException e) {
+      //issue IOTDB-415, we need to stop the service.
+      logger.error("{}: start {} failed, listening on ip {} port {}",
+          IoTDBConstant.GLOBAL_DB_NAME, this.getID().getName(),
+          IoTDBDescriptor.getInstance().getConfig().getRpcAddress(),
+          IoTDBDescriptor.getInstance().getConfig().getMetricsPort());
+      stopService();
+    }
   }
 
   @Override

Reply via email to