You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/08/04 02:06:08 UTC

[iotdb] 01/04: Totally fix the python client IT issues

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

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

commit bc3cdf0ecac0c0782a1e3d5ab1bc72a262d534f2
Author: Haonan <hh...@outlook.com>
AuthorDate: Thu Aug 3 09:21:18 2023 +0800

    Totally fix the python client IT issues
---
 .github/workflows/client-python.yml                           |  1 -
 docker/src/main/Dockerfile-1c1d                               |  8 +++++---
 iotdb-client/client-py/iotdb/IoTDBContainer.py                | 11 +++++++++++
 .../apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java  |  6 ------
 .../src/main/java/org/apache/iotdb/db/service/DataNode.java   |  8 --------
 5 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/.github/workflows/client-python.yml b/.github/workflows/client-python.yml
index df715682274..5fd63dfbe3f 100644
--- a/.github/workflows/client-python.yml
+++ b/.github/workflows/client-python.yml
@@ -7,7 +7,6 @@ on:
     branches:
       - master
       - 'rel/*'
-      - "new_*"
     paths-ignore:
       - 'docs/**'
       - 'site/**'
diff --git a/docker/src/main/Dockerfile-1c1d b/docker/src/main/Dockerfile-1c1d
index e8c90aff873..aefa5d2965a 100644
--- a/docker/src/main/Dockerfile-1c1d
+++ b/docker/src/main/Dockerfile-1c1d
@@ -32,9 +32,11 @@ RUN apt update \
   && mv /start-1c1d.sh /iotdb/sbin \
   && sed -i 's/dn_internal_address=127.0.0.1/dn_internal_address=0.0.0.0/g' /iotdb/conf/iotdb-datanode.properties \
   && sed -i 's/cn_internal_address=127.0.0.1/cn_internal_address=0.0.0.0/g' /iotdb/conf/iotdb-confignode.properties \
-  && sed -i 's/config_node_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/config_node_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
-  && sed -i 's/schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/schema_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
-  && sed -i 's/data_region_consensus_protocol_class=org.apache.iotdb.consensus.iot.IoTConsensus/data_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
+  && sed -i 's/cn_target_config_node_list=127.0.0.1:10710/cn_target_config_node_list=0.0.0.0:10710/g' /iotdb/conf/iotdb-confignode.properties \
+  && sed -i 's/dn_target_config_node_list=127.0.0.1:10710/dn_target_config_node_list=0.0.0.0:10710/g' /iotdb/conf/iotdb-datanode.properties \
+  && sed -i 's/# config_node_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/config_node_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
+  && sed -i 's/# schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus/schema_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
+  && sed -i 's/# data_region_consensus_protocol_class=org.apache.iotdb.consensus.iot.IoTConsensus/data_region_consensus_protocol_class=org.apache.iotdb.consensus.simple.SimpleConsensus/g' /iotdb/conf/iotdb-common.properties \
   && apt remove unzip -y \
   && apt autoremove -y \
   && apt purge --auto-remove -y \
diff --git a/iotdb-client/client-py/iotdb/IoTDBContainer.py b/iotdb-client/client-py/iotdb/IoTDBContainer.py
index 9a0188798ff..829d201f25d 100644
--- a/iotdb-client/client-py/iotdb/IoTDBContainer.py
+++ b/iotdb-client/client-py/iotdb/IoTDBContainer.py
@@ -16,13 +16,17 @@
 # under the License.
 #
 
+import time
 from os import environ
 
 from testcontainers.core.container import DockerContainer
+from testcontainers.core.utils import setup_logger
 from testcontainers.core.waiting_utils import wait_container_is_ready
 
 from iotdb.Session import Session
 
+logger = setup_logger(__name__)
+
 
 class IoTDBContainer(DockerContainer):
     IOTDB_USER = environ.get("IOTDB_USER", "root")
@@ -48,4 +52,11 @@ class IoTDBContainer(DockerContainer):
         self._configure()
         super().start()
         self._connect()
+        # sleep 2s to make sure the confignode cached the datanode info
+        time.sleep(2)
+        return self
+
+    def stop(self, force=True, delete_volume=True):
+        logger.info(self.get_wrapped_container().logs().decode("utf-8"))
+        super().stop(force, delete_volume)
         return self
diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
index dbd9bb24390..18882e9095a 100644
--- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
+++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeStartupCheck.java
@@ -163,12 +163,6 @@ public class ConfigNodeStartupCheck extends StartupChecks {
           "an unrecognized route_priority_policy is set");
     }
 
-    // The ip of target ConfigNode couldn't be 0.0.0.0
-    if (CONF.getTargetConfigNode().getIp().equals("0.0.0.0")) {
-      throw new ConfigurationException(
-          "The ip address of any target_config_node_list couldn't be 0.0.0.0");
-    }
-
     // The default RegionGroupNum should be positive
     if (CONF.getDefaultSchemaRegionGroupNumPerDatabase() <= 0) {
       throw new ConfigurationException("The default_schema_region_group_num should be positive");
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
index 7aa275ae1dc..1230d9be8d2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -207,14 +207,6 @@ public class DataNode implements DataNodeMBean {
     // Notice: Consider this DataNode as first start if the system.properties file doesn't exist
     boolean isFirstStart = IoTDBStartCheck.getInstance().checkIsFirstStart();
 
-    // Check target ConfigNodes
-    for (TEndPoint endPoint : config.getTargetConfigNodeList()) {
-      if (endPoint.getIp().equals("0.0.0.0")) {
-        throw new StartupException(
-            "The ip address of any target_config_node_list couldn't be 0.0.0.0");
-      }
-    }
-
     // Set this node
     thisNode.setIp(config.getInternalAddress());
     thisNode.setPort(config.getInternalPort());