This is an automated email from the ASF dual-hosted git repository. caogaofei pushed a commit to branch beyyes/fix_iotdb4942 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit b175134aa59fb61c7e3f55a1f26d98cb59a02777 Author: Beyyes <[email protected]> AuthorDate: Tue Nov 15 20:06:37 2022 +0800 only checkDirectory when start DataNode --- .../src/main/java/org/apache/iotdb/db/service/DataNode.java | 9 +++++++-- .../apache/iotdb/db/service/DataNodeServerCommandLine.java | 12 +++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java index 6a76230349..25b74c5971 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java +++ b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java @@ -89,6 +89,8 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import static org.apache.iotdb.db.service.DataNodeServerCommandLine.MODE_START; + public class DataNode implements DataNodeMBean { private static final Logger logger = LoggerFactory.getLogger(DataNode.class); private static final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig(); @@ -128,10 +130,13 @@ public class DataNode implements DataNodeMBean { new DataNodeServerCommandLine().doMain(args); } - protected void serverCheckAndInit() throws ConfigurationException, IOException { + protected void serverCheckAndInit(String mode) throws ConfigurationException, IOException { config.setClusterMode(true); IoTDBStartCheck.getInstance().checkConfig(); - IoTDBStartCheck.getInstance().checkDirectory(); + if (MODE_START.equals(mode)) { + // Only checkDirectory when start DataNode + IoTDBStartCheck.getInstance().checkDirectory(); + } // TODO: check configuration for data node for (TEndPoint endPoint : config.getTargetConfigNodeList()) { diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNodeServerCommandLine.java b/server/src/main/java/org/apache/iotdb/db/service/DataNodeServerCommandLine.java index 01b9a56a79..55bba9fb9c 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/DataNodeServerCommandLine.java +++ b/server/src/main/java/org/apache/iotdb/db/service/DataNodeServerCommandLine.java @@ -48,10 +48,10 @@ public class DataNodeServerCommandLine extends ServerCommandLine { private static final Logger LOGGER = LoggerFactory.getLogger(DataNodeServerCommandLine.class); // join an established cluster - private static final String MODE_START = "-s"; + public static final String MODE_START = "-s"; // send a request to remove a node, more arguments: ip-of-removed-node // metaport-of-removed-node - private static final String MODE_REMOVE = "-r"; + public static final String MODE_REMOVE = "-r"; private static final String USAGE = "Usage: <-s|-r> " @@ -72,15 +72,17 @@ public class DataNodeServerCommandLine extends ServerCommandLine { } DataNode dataNode = DataNode.getInstance(); + + String mode = args[0]; + LOGGER.info("Running mode {}", mode); + // Check config of IoTDB, and set some configs in cluster mode try { - dataNode.serverCheckAndInit(); + dataNode.serverCheckAndInit(mode); } catch (ConfigurationException | IOException e) { LOGGER.error("Meet error when doing start checking", e); return -1; } - String mode = args[0]; - LOGGER.info("Running mode {}", mode); // Initialize the current node and its services if (!dataNode.initLocalEngines()) {
