You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/12/22 13:19:06 UTC

[iotdb] 02/02: change some log; fix iotdb rpc port error

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

hxd pushed a commit to branch change_rpc_port
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 770793f6d442f95f428f4a93ea4252d3b6f93903
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Tue Dec 22 21:18:31 2020 +0800

    change some log; fix iotdb rpc port error
---
 .../main/java/org/apache/iotdb/cluster/ClusterMain.java   | 13 ++++++++-----
 .../java/org/apache/iotdb/cluster/server/NodeReport.java  |  2 +-
 .../iotdb/cluster/server/member/MetaGroupMember.java      |  4 ++--
 .../apache/iotdb/cluster/server/member/RaftMember.java    |  6 +++++-
 .../main/java/org/apache/iotdb/db/conf/IoTDBConfig.java   | 15 +++++++++++++++
 .../src/main/java/org/apache/iotdb/db/service/IoTDB.java  |  6 +++++-
 6 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
index 39446db..bf6b504 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
@@ -99,14 +99,10 @@ public class ClusterMain {
       );
       return;
     }
-    String mode = args[0];
-    if (args.length > 1) {
-      String[] params = Arrays.copyOfRange(args, 1, args.length);
-      replaceDefaultProps(params);
-    }
 
     // init server's configuration first, because the cluster configuration may read settings from
     // the server's configuration.
+    IoTDBDescriptor.getInstance().getConfig().setEnableRPCService(false);
     IoTDBDescriptor.getInstance().getConfig().setSyncEnable(false);
     IoTDBDescriptor.getInstance().getConfig().setAutoCreateSchemaEnabled(false);
 
@@ -115,6 +111,12 @@ public class ClusterMain {
       return;
     }
 
+    String mode = args[0];
+    if (args.length > 1) {
+      String[] params = Arrays.copyOfRange(args, 1, args.length);
+      replaceDefaultProps(params);
+    }
+
     logger.info("Running mode {}", mode);
     if (MODE_START.equals(mode)) {
       try {
@@ -291,6 +293,7 @@ public class ClusterMain {
       if (commandLine.hasOption(OPTION_DEBUG_RPC_PORT)) {
         IoTDBDescriptor.getInstance().getConfig().setRpcPort(Integer.parseInt(commandLine.getOptionValue(
             OPTION_DEBUG_RPC_PORT)));
+        IoTDBDescriptor.getInstance().getConfig().setEnableRPCService(true);
         logger.debug("replace local cluster (single node) rpc port with={}", commandLine.getOptionValue(
             OPTION_DEBUG_RPC_PORT));
       }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
index e175248..7e4fce1 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
@@ -125,7 +125,7 @@ public class NodeReport {
                 ", writeBytes=" + writeBytes + "/" + writeCompressedBytes + "(" + writeCompressionRatio +
                 ")";
       }
-      return "MetaMemberReport{" +
+      return "MetaMemberReport {\n" +
           "character=" + character +
           ", Leader=" + leader +
           ", term=" + term +
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index 0d7183f..809061f 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@ -184,7 +184,7 @@ public class MetaGroupMember extends RaftMember {
    * every "REPORT_INTERVAL_SEC" seconds, a reporter thread will print the status of all raft
    * members in this node
    */
-  private static final int REPORT_INTERVAL_SEC = 10;
+  private static final int REPORT_INTERVAL_SEC = 100;
   /**
    * how many times is a data record replicated, also the number of nodes in a data group
    */
@@ -473,7 +473,7 @@ public class MetaGroupMember extends RaftMember {
     try {
       if (logger.isInfoEnabled()) {
         NodeReport report = genNodeReport();
-        logger.info(report.toString());
+        logger.debug(report.toString());
       }
     } catch (Exception e) {
       logger.error("{} exception occurred when generating node report", name, e);
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 14271dc..6e3d70a 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -1275,6 +1275,7 @@ public abstract class RaftMember {
     }
 
     AsyncClient client = null;
+    IOException lastException = null;
     for (int i = 0; i < MAX_RETRY_TIMES_FOR_GET_CLIENT; i++) {
       try {
         client = pool.getClient(node);
@@ -1287,9 +1288,12 @@ public abstract class RaftMember {
         Thread.currentThread().interrupt();
         return null;
       } catch (IOException e) {
-        logger.warn("{} cannot connect to node {}", name, node, e);
+        lastException = e;
       }
     }
+    if (logger.isDebugEnabled() && client == null && lastException != null) {
+      logger.debug("{} cannot connect to node {}", name, node, lastException);
+    }
     return client;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index 53e3d74..c93e301 100644
--- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -794,6 +794,13 @@ public class IoTDBConfig {
    */
   private boolean debugState = false;
 
+  /**
+   * whether enable the rpc service. This parameter has no a corresponding field
+   * in the iotdb-engine.properties
+   */
+  private boolean enableRPCService = true;
+
+
   public IoTDBConfig() {
     // empty constructor
   }
@@ -2122,4 +2129,12 @@ public class IoTDBConfig {
   public void setMlogBufferSize(int mlogBufferSize) {
     this.mlogBufferSize = mlogBufferSize;
   }
+
+  public boolean isEnableRPCService() {
+    return enableRPCService;
+  }
+
+  public void setEnableRPCService(boolean enableRPCService) {
+    this.enableRPCService = enableRPCService;
+  }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index c6c2535..c07180e 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -104,7 +104,11 @@ public class IoTDB implements IoTDBMBean {
     JMXService.registerMBean(getInstance(), mbeanName);
     registerManager.register(StorageEngine.getInstance());
 
-    registerManager.register(RPCService.getInstance());
+    //in cluster mode, RPC service is not enabled.
+    if (IoTDBDescriptor.getInstance().getConfig().isEnableRPCService()) {
+      registerManager.register(RPCService.getInstance());
+    }
+
     if (IoTDBDescriptor.getInstance().getConfig().isEnableMetricService()) {
       registerManager.register(MetricsService.getInstance());
     }