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

jackietien pushed a commit to branch rc/2.0.5
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 4e960fd58296129dc8c1ba2323568c90d8ab6c2b
Author: Yongzao <[email protected]>
AuthorDate: Mon Jul 21 23:31:10 2025 +0800

    [AINode] AINode docker compose file (#15987)
    
    (cherry picked from commit 2288d7af39604b751a179189ffa8bc0a5633f55e)
---
 .../main/DockerCompose/docker-compose-ainode.yml   | 30 +++++++---
 .../docker-compose-cluster-1c1d1a.yml              |  4 +-
 docker/src/main/Dockerfile-1.0.0-ainode            |  3 -
 .../iotdb/it/env/cluster/node/AINodeWrapper.java   |  2 +-
 iotdb-core/ainode/ainode/core/ainode.py            | 10 ++--
 iotdb-core/ainode/ainode/core/config.py            | 68 ++++++++++------------
 iotdb-core/ainode/ainode/core/constant.py          | 52 ++++++++---------
 iotdb-core/ainode/ainode/core/rpc/service.py       |  4 +-
 iotdb-core/ainode/ainode/core/script.py            |  6 +-
 .../ainode/resources/conf/iotdb-ainode.properties  | 20 +++----
 scripts/sbin/stop-ainode.sh                        | 22 +++----
 scripts/sbin/windows/stop-ainode.bat               | 18 +++---
 12 files changed, 117 insertions(+), 122 deletions(-)

diff --git a/docker/src/main/DockerCompose/docker-compose-ainode.yml 
b/docker/src/main/DockerCompose/docker-compose-ainode.yml
index a570b9ac38d..f89862600b0 100644
--- a/docker/src/main/DockerCompose/docker-compose-ainode.yml
+++ b/docker/src/main/DockerCompose/docker-compose-ainode.yml
@@ -17,16 +17,30 @@
 # under the License.
 #
 
+volumes:
+  ainode-data:
+    driver: local
+    driver_opts:
+      type: none
+      device: /data/ainode
+      o: bind
+
 services:
   iotdb-ainode:
-    image: apache/iotdb:2.0.5-SNAPSHOT-ainode
-    hostname: iotdb-ainode
+    image: apache/iotdb:<version>-ainode
     container_name: iotdb-ainode
-    ports:
-      - "10810:10810"
+    network_mode: host
     environment:
-      - ain_seed_config_node=iotdb-confignode:10710
-      - ain_inference_rpc_address=iotdb-ainode
-      - ain_inference_rpc_port=10810
+      - cluster_name=defaultCluster
+      - ain_seed_config_node=<iotdb-confignode>:10710
+      - ain_rpc_address=<iotdb-ainode>
+      - ain_rpc_port=10810
+      - ain_cluster_ingress_address=<iotdb-datanode>
+      - ain_cluster_ingress_port=6667
+      - ain_cluster_ingress_username=root
+      - ain_cluster_ingress_password=root
+      - ain_cluster_ingress_time_zone=UTC+8
     volumes:
-        - ./logs/ainode:/ainode/logs
\ No newline at end of file
+      - ainode-data:/ainode/data
+      - ./logs/ainode:/ainode/logs
+      # - ./lib/ainode:/ainode/lib  # Uncomment for rolling upgrade
\ No newline at end of file
diff --git a/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml 
b/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
index c8453b28eef..b6a1b63c573 100644
--- a/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
+++ b/docker/src/main/DockerCompose/docker-compose-cluster-1c1d1a.yml
@@ -55,8 +55,8 @@ services:
     container_name: iotdb-ainode
     environment:
       - ain_seed_config_node=iotdb-service:10710
-      - ain_inference_rpc_address=iotdb-ainode
-      - ain_inference_rpc_port=10810
+      - ain_rpc_address=iotdb-ainode
+      - ain_rpc_port=10810
     volumes:
         - ./logs/ainode:/ainode/logs
     networks:
diff --git a/docker/src/main/Dockerfile-1.0.0-ainode 
b/docker/src/main/Dockerfile-1.0.0-ainode
index e1726f896b4..7e315c64939 100644
--- a/docker/src/main/Dockerfile-1.0.0-ainode
+++ b/docker/src/main/Dockerfile-1.0.0-ainode
@@ -62,8 +62,5 @@ ENV 
PATH="${IOTDB_AINODE_HOME}/sbin/:${IOTDB_AINODE_HOME}/tools/:${PATH}"
 RUN bash start-ainode.sh || true
 RUN rm -r ${IOTDB_AINODE_HOME}/logs/*
 
-EXPOSE 10810
-VOLUME $IOTDB_AINODE_HOME/logs
-
 ENTRYPOINT ["/usr/bin/dumb-init", "--"]
 CMD ["bash", "-c", "entrypoint.sh ainode"]
diff --git 
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/AINodeWrapper.java
 
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/AINodeWrapper.java
index 8da2437aed6..86d70155649 100644
--- 
a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/AINodeWrapper.java
+++ 
b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/node/AINodeWrapper.java
@@ -111,7 +111,7 @@ public class AINodeWrapper extends AbstractNodeWrapper {
 
       // set attribute
       replaceAttribute(
-          new String[] {"ain_seed_config_node", "ain_inference_rpc_port"},
+          new String[] {"ain_seed_config_node", "ain_rpc_port"},
           new String[] {this.seedConfigNode, Integer.toString(getPort())},
           propertiesFile);
 
diff --git a/iotdb-core/ainode/ainode/core/ainode.py 
b/iotdb-core/ainode/ainode/core/ainode.py
index 6380094b98a..d18ac21464e 100644
--- a/iotdb-core/ainode/ainode/core/ainode.py
+++ b/iotdb-core/ainode/ainode/core/ainode.py
@@ -43,8 +43,8 @@ def _generate_configuration() -> TAINodeConfiguration:
     location = TAINodeLocation(
         AINodeDescriptor().get_config().get_ainode_id(),
         TEndPoint(
-            AINodeDescriptor().get_config().get_ain_inference_rpc_address(),
-            AINodeDescriptor().get_config().get_ain_inference_rpc_port(),
+            AINodeDescriptor().get_config().get_ain_rpc_address(),
+            AINodeDescriptor().get_config().get_ain_rpc_port(),
         ),
     )
     resource = TNodeResource(int(psutil.cpu_count()), 
int(psutil.virtual_memory()[0]))
@@ -76,10 +76,8 @@ def _generate_system_properties(ainode_id: int):
         "cluster_name": AINodeDescriptor().get_config().get_cluster_name(),
         "iotdb_version": AINodeDescriptor().get_config().get_version_info(),
         "commit_id": AINodeDescriptor().get_config().get_build_info(),
-        "ain_rpc_address": AINodeDescriptor()
-        .get_config()
-        .get_ain_inference_rpc_address(),
-        "ain_rpc_port": 
AINodeDescriptor().get_config().get_ain_inference_rpc_port(),
+        "ain_rpc_address": 
AINodeDescriptor().get_config().get_ain_rpc_address(),
+        "ain_rpc_port": AINodeDescriptor().get_config().get_ain_rpc_port(),
         "config_node_list": AINodeDescriptor()
         .get_config()
         .get_ain_target_config_node_list(),
diff --git a/iotdb-core/ainode/ainode/core/config.py 
b/iotdb-core/ainode/ainode/core/config.py
index 6f0336ad6ae..d347379570b 100644
--- a/iotdb-core/ainode/ainode/core/config.py
+++ b/iotdb-core/ainode/ainode/core/config.py
@@ -31,12 +31,12 @@ from ainode.core.constant import (
     AINODE_CONF_GIT_FILE_NAME,
     AINODE_CONF_POM_FILE_NAME,
     AINODE_INFERENCE_BATCH_INTERVAL_IN_MS,
-    AINODE_INFERENCE_RPC_ADDRESS,
-    AINODE_INFERENCE_RPC_PORT,
     AINODE_LOG_DIR,
     AINODE_MODELS_DIR,
     AINODE_ROOT_CONF_DIRECTORY_NAME,
     AINODE_ROOT_DIR,
+    AINODE_RPC_ADDRESS,
+    AINODE_RPC_PORT,
     AINODE_SYSTEM_DIR,
     AINODE_SYSTEM_FILE_NAME,
     AINODE_TARGET_CONFIG_NODE_LIST,
@@ -53,9 +53,22 @@ logger = Logger()
 
 class AINodeConfig(object):
     def __init__(self):
-        # Used for connection of DataNode/ConfigNode clients
-        self._ain_inference_rpc_address: str = AINODE_INFERENCE_RPC_ADDRESS
-        self._ain_inference_rpc_port: int = AINODE_INFERENCE_RPC_PORT
+        self._version_info = AINODE_VERSION_INFO
+        self._build_info = AINODE_BUILD_INFO
+
+        # Cluster configuration
+        self._ainode_id = 0
+        self._cluster_name = AINODE_CLUSTER_NAME
+        self._ain_target_config_node_list: TEndPoint = 
AINODE_TARGET_CONFIG_NODE_LIST
+        self._ain_rpc_address: str = AINODE_RPC_ADDRESS
+        self._ain_rpc_port: int = AINODE_RPC_PORT
+        self._ain_cluster_ingress_address = AINODE_CLUSTER_INGRESS_ADDRESS
+        self._ain_cluster_ingress_port = AINODE_CLUSTER_INGRESS_PORT
+        self._ain_cluster_ingress_username = AINODE_CLUSTER_INGRESS_USERNAME
+        self._ain_cluster_ingress_password = AINODE_CLUSTER_INGRESS_PASSWORD
+        self._ain_cluster_ingress_time_zone = AINODE_CLUSTER_INGRESS_TIME_ZONE
+
+        # Inference configuration
         self._ain_inference_batch_interval_in_ms: int = (
             AINODE_INFERENCE_BATCH_INTERVAL_IN_MS
         )
@@ -77,23 +90,6 @@ class AINodeConfig(object):
         # Cache number of model storage to avoid repeated loading
         self._ain_model_storage_cache_size = 30
 
-        # Target ConfigNode to be connected by AINode
-        self._ain_target_config_node_list: TEndPoint = 
AINODE_TARGET_CONFIG_NODE_LIST
-
-        # use for node management
-        self._ainode_id = 0
-        self._cluster_name = AINODE_CLUSTER_NAME
-
-        # connect IoTDB cluster
-        self._ain_cluster_ingress_address = AINODE_CLUSTER_INGRESS_ADDRESS
-        self._ain_cluster_ingress_port = AINODE_CLUSTER_INGRESS_PORT
-        self._ain_cluster_ingress_username = AINODE_CLUSTER_INGRESS_USERNAME
-        self._ain_cluster_ingress_password = AINODE_CLUSTER_INGRESS_PASSWORD
-        self._ain_cluster_ingress_time_zone = AINODE_CLUSTER_INGRESS_TIME_ZONE
-
-        self._version_info = AINODE_VERSION_INFO
-        self._build_info = AINODE_BUILD_INFO
-
     def get_cluster_name(self) -> str:
         return self._cluster_name
 
@@ -124,17 +120,17 @@ class AINodeConfig(object):
     def set_version_info(self, version_info: str) -> None:
         self._version_info = version_info
 
-    def get_ain_inference_rpc_address(self) -> str:
-        return self._ain_inference_rpc_address
+    def get_ain_rpc_address(self) -> str:
+        return self._ain_rpc_address
 
-    def set_ain_inference_rpc_address(self, ain_inference_rpc_address: str) -> 
None:
-        self._ain_inference_rpc_address = ain_inference_rpc_address
+    def set_ain_rpc_address(self, ain_rpc_address: str) -> None:
+        self._ain_rpc_address = ain_rpc_address
 
-    def get_ain_inference_rpc_port(self) -> int:
-        return self._ain_inference_rpc_port
+    def get_ain_rpc_port(self) -> int:
+        return self._ain_rpc_port
 
-    def set_ain_inference_rpc_port(self, ain_inference_rpc_port: int) -> None:
-        self._ain_inference_rpc_port = ain_inference_rpc_port
+    def set_ain_rpc_port(self, ain_rpc_port: int) -> None:
+        self._ain_rpc_port = ain_rpc_port
 
     def get_ain_inference_batch_interval_in_ms(self) -> int:
         return self._ain_inference_batch_interval_in_ms
@@ -275,15 +271,11 @@ class AINodeDescriptor(object):
 
             config_keys = file_configs.keys()
 
-            if "ain_inference_rpc_address" in config_keys:
-                self._config.set_ain_inference_rpc_address(
-                    file_configs["ain_inference_rpc_address"]
-                )
+            if "ain_rpc_address" in config_keys:
+                
self._config.set_ain_rpc_address(file_configs["ain_rpc_address"])
 
-            if "ain_inference_rpc_port" in config_keys:
-                self._config.set_ain_inference_rpc_port(
-                    int(file_configs["ain_inference_rpc_port"])
-                )
+            if "ain_rpc_port" in config_keys:
+                
self._config.set_ain_rpc_port(int(file_configs["ain_rpc_port"]))
 
             if "ain_inference_batch_interval_in_ms" in config_keys:
                 self._config.set_ain_inference_batch_interval_in_ms(
diff --git a/iotdb-core/ainode/ainode/core/constant.py 
b/iotdb-core/ainode/ainode/core/constant.py
index 1521ca52fe2..bd414ce1253 100644
--- a/iotdb-core/ainode/ainode/core/constant.py
+++ b/iotdb-core/ainode/ainode/core/constant.py
@@ -23,6 +23,8 @@ from typing import List
 
 from ainode.thrift.common.ttypes import TEndPoint
 
+AINODE_VERSION_INFO = "UNKNOWN"
+AINODE_BUILD_INFO = "UNKNOWN"
 AINODE_CONF_DIRECTORY_NAME = "conf"
 AINODE_ROOT_CONF_DIRECTORY_NAME = "conf"
 AINODE_CONF_FILE_NAME = "iotdb-ainode.properties"
@@ -30,33 +32,33 @@ AINODE_CONF_GIT_FILE_NAME = "git.properties"
 AINODE_CONF_POM_FILE_NAME = "pom.properties"
 AINODE_SYSTEM_FILE_NAME = "system.properties"
 
-# inference_rpc_address
-AINODE_INFERENCE_RPC_ADDRESS = "127.0.0.1"
-AINODE_INFERENCE_RPC_PORT = 10810
+# AINode cluster configuration
+AINODE_CLUSTER_NAME = "defaultCluster"
+AINODE_TARGET_CONFIG_NODE_LIST = TEndPoint("127.0.0.1", 10710)
+AINODE_RPC_ADDRESS = "127.0.0.1"
+AINODE_RPC_PORT = 10810
+AINODE_CLUSTER_INGRESS_ADDRESS = "127.0.0.1"
+AINODE_CLUSTER_INGRESS_PORT = 6667
+AINODE_CLUSTER_INGRESS_USERNAME = "root"
+AINODE_CLUSTER_INGRESS_PASSWORD = "root"
+AINODE_CLUSTER_INGRESS_TIME_ZONE = "UTC+8"
+
+# RPC config
+AINODE_THRIFT_COMPRESSION_ENABLED = False
+DEFAULT_RECONNECT_TIMEOUT = 20
+DEFAULT_RECONNECT_TIMES = 3
+
+# AINode inference configuration
 AINODE_INFERENCE_BATCH_INTERVAL_IN_MS = 15
 
 # AINode folder structure
+AINODE_ROOT_DIR = os.path.dirname(
+    os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
+)
 AINODE_MODELS_DIR = "data/ainode/models"
 AINODE_BUILTIN_MODELS_DIR = "data/ainode/models/weights"  # For built-in 
models, we only need to store their weights and config.
 AINODE_SYSTEM_DIR = "data/ainode/system"
 AINODE_LOG_DIR = "logs"
-AINODE_THRIFT_COMPRESSION_ENABLED = False
-
-# use for node management
-AINODE_CLUSTER_NAME = "defaultCluster"
-AINODE_VERSION_INFO = "UNKNOWN"
-AINODE_BUILD_INFO = "UNKNOWN"
-AINODE_ROOT_DIR = os.path.dirname(
-    os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
-)
-
-# connect IoTDB cluster
-AINODE_CLUSTER_INGRESS_ADDRESS = "127.0.0.1"
-AINODE_CLUSTER_INGRESS_PORT = 6667
-AINODE_CLUSTER_INGRESS_USERNAME = "root"
-AINODE_CLUSTER_INGRESS_PASSWORD = "root"
-AINODE_CLUSTER_INGRESS_TIME_ZONE = "UTC+8"
-AINODE_TARGET_CONFIG_NODE_LIST = TEndPoint("127.0.0.1", 10710)
 
 # AINode log
 AINODE_LOG_FILE_NAMES = [
@@ -66,21 +68,15 @@ AINODE_LOG_FILE_NAMES = [
     "log_ainode_error.log",
 ]
 AINODE_LOG_FILE_LEVELS = [logging.DEBUG, logging.INFO, logging.WARNING, 
logging.ERROR]
+STD_LEVEL = logging.INFO
 
-TRIAL_ID_PREFIX = "__trial_"
-DEFAULT_TRIAL_ID = TRIAL_ID_PREFIX + "0"
-
+# AINode model management
 MODEL_WEIGHTS_FILE_IN_SAFETENSORS = "model.safetensors"
 MODEL_CONFIG_FILE_IN_JSON = "config.json"
 DEFAULT_MODEL_FILE_NAME = "model.pt"
 DEFAULT_CONFIG_FILE_NAME = "config.yaml"
 DEFAULT_CHUNK_SIZE = 8192
 
-DEFAULT_RECONNECT_TIMEOUT = 20
-DEFAULT_RECONNECT_TIMES = 3
-
-STD_LEVEL = logging.INFO
-
 
 class TSStatusCode(Enum):
     SUCCESS_STATUS = 200
diff --git a/iotdb-core/ainode/ainode/core/rpc/service.py 
b/iotdb-core/ainode/ainode/core/rpc/service.py
index 72bd38c4ade..946fb53abda 100644
--- a/iotdb-core/ainode/ainode/core/rpc/service.py
+++ b/iotdb-core/ainode/ainode/core/rpc/service.py
@@ -71,8 +71,8 @@ class AINodeRPCService(threading.Thread):
         self._handler = handler
         processor = IAINodeRPCService.Processor(handler=self._handler)
         transport = TSocket.TServerSocket(
-            
host=AINodeDescriptor().get_config().get_ain_inference_rpc_address(),
-            port=AINodeDescriptor().get_config().get_ain_inference_rpc_port(),
+            host=AINodeDescriptor().get_config().get_ain_rpc_address(),
+            port=AINodeDescriptor().get_config().get_ain_rpc_port(),
         )
         transport_factory = TTransport.TFramedTransportFactory()
         if 
AINodeDescriptor().get_config().get_ain_thrift_compression_enabled():
diff --git a/iotdb-core/ainode/ainode/core/script.py 
b/iotdb-core/ainode/ainode/core/script.py
index 51286bf3635..a3b6bfbfa60 100644
--- a/iotdb-core/ainode/ainode/core/script.py
+++ b/iotdb-core/ainode/ainode/core/script.py
@@ -37,10 +37,8 @@ def remove_ainode(arguments):
     # Delete the current node
     if len(arguments) == 2:
         target_ainode_id = AINodeDescriptor().get_config().get_ainode_id()
-        target_rpc_address = (
-            AINodeDescriptor().get_config().get_ain_inference_rpc_address()
-        )
-        target_rpc_port = 
AINodeDescriptor().get_config().get_ain_inference_rpc_port()
+        target_rpc_address = 
AINodeDescriptor().get_config().get_ain_rpc_address()
+        target_rpc_port = AINodeDescriptor().get_config().get_ain_rpc_port()
 
     # Delete the node with a given id
     elif len(arguments) == 3:
diff --git a/iotdb-core/ainode/resources/conf/iotdb-ainode.properties 
b/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
index db1f9358480..b31079ce00d 100644
--- a/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
+++ b/iotdb-core/ainode/resources/conf/iotdb-ainode.properties
@@ -26,6 +26,16 @@ cluster_name=defaultCluster
 # Datatype: String
 ain_seed_config_node=127.0.0.1:10710
 
+# Used for connection of DataNode/ConfigNode clients
+# Could set 127.0.0.1(for local test) or ipv4 address
+# Datatype: String
+ain_rpc_address=127.0.0.1
+
+# Used for connection of DataNode/ConfigNode clients
+# Bind with MN_RPC_ADDRESS
+# Datatype: String
+ain_rpc_port=10810
+
 # The DataNode address for fetching IoTDB data
 # Datatype: String
 ain_cluster_ingress_address=127.0.0.1
@@ -46,16 +56,6 @@ ain_cluster_ingress_password=root
 # Datatype: String
 ain_cluster_ingress_time_zone=UTC+8
 
-# Used for connection of DataNode/ConfigNode clients
-# Could set 127.0.0.1(for local test) or ipv4 address
-# Datatype: String
-ain_inference_rpc_address=127.0.0.1
-
-# Used for connection of DataNode/ConfigNode clients
-# Bind with MN_RPC_ADDRESS
-# Datatype: String
-ain_inference_rpc_port=10810
-
 # The AINode metadata storage path.
 # The starting directory of the relative path is related to the operating 
system.
 # It is recommended to use an absolute path.
diff --git a/scripts/sbin/stop-ainode.sh b/scripts/sbin/stop-ainode.sh
index d6560d98f8d..74d27f3b9fc 100644
--- a/scripts/sbin/stop-ainode.sh
+++ b/scripts/sbin/stop-ainode.sh
@@ -20,14 +20,14 @@
 
 AINODE_CONF="`dirname "$0"`/../conf"
 if [ -f "${AINODE_CONF}/iotdb-ainode.properties" ]; then
-    ain_inference_rpc_port=$(sed '/^ain_inference_rpc_port=/!d;s/.*=//' 
"${AINODE_CONF}"/iotdb-ainode.properties)
+    ain_rpc_port=$(sed '/^ain_rpc_port=/!d;s/.*=//' 
"${AINODE_CONF}"/iotdb-ainode.properties)
     # trim the port
-    ain_inference_rpc_port=$(echo "$ain_inference_rpc_port" | sed -e 
's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
+    ain_rpc_port=$(echo "$ain_rpc_port" | sed -e 's/^[[:space:]]*//' -e 
's/[[:space:]]*$//')
 fi
 
-if [ -z "$ain_inference_rpc_port" ]; then
-    echo "WARNING: ain_inference_rpc_port not found in the configuration file. 
Using default value ain_inference_rpc_port=10810"
-    ain_inference_rpc_port=10810
+if [ -z "$ain_rpc_port" ]; then
+    echo "WARNING: ain_rpc_port not found in the configuration file. Using 
default value ain_rpc_port=10810"
+    ain_rpc_port=10810
 fi
 
 # fetch parameters with names
@@ -45,18 +45,18 @@ while getopts "i:t:r" opt; do
   esac
 done
 
-# If p_ain_remove_target exists, take the value after the colon of 
p_ain_remove_target as ain_inference_rpc_port
+# If p_ain_remove_target exists, take the value after the colon of 
p_ain_remove_target as ain_rpc_port
 if [ -n "$p_ain_remove_target" ]; then
-  ain_inference_rpc_port=${p_ain_remove_target#*:}
+  ain_rpc_port=${p_ain_remove_target#*:}
 fi
 
-echo "Check whether the rpc_port is used..., port is" $ain_inference_rpc_port
+echo "Check whether the rpc_port is used..., port is" $ain_rpc_port
 
 if  type lsof > /dev/null 2>&1 ; then
-  echo $(lsof -t -i:"${ain_inference_rpc_port}" -sTCP:LISTEN)
-  PID=$(lsof -t -i:"${ain_inference_rpc_port}" -sTCP:LISTEN)
+  echo $(lsof -t -i:"${ain_rpc_port}" -sTCP:LISTEN)
+  PID=$(lsof -t -i:"${ain_rpc_port}" -sTCP:LISTEN)
 elif type netstat > /dev/null 2>&1 ; then
-  PID=$(netstat -anp 2>/dev/null | grep ":${ain_inference_rpc_port} " | grep ' 
LISTEN ' | awk '{print $NF}' | sed "s|/.*||g" )
+  PID=$(netstat -anp 2>/dev/null | grep ":${ain_rpc_port} " | grep ' LISTEN ' 
| awk '{print $NF}' | sed "s|/.*||g" )
 else
   echo ""
   echo " Error: No necessary tool."
diff --git a/scripts/sbin/windows/stop-ainode.bat 
b/scripts/sbin/windows/stop-ainode.bat
index 8bcc462b746..94307403a1f 100644
--- a/scripts/sbin/windows/stop-ainode.bat
+++ b/scripts/sbin/windows/stop-ainode.bat
@@ -35,27 +35,27 @@ shift
 goto initial
 
 :done
-for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i "^ain_inference_rpc_port"
+for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i "^ain_rpc_port"
 %IOTDB_AINODE_HOME%\conf\iotdb-ainode.properties') do (
-  set ain_inference_rpc_port=%%i
+  set ain_rpc_port=%%i
 )
 
-echo Check whether the rpc_port is used..., port is %ain_inference_rpc_port%
+echo Check whether the rpc_port is used..., port is %ain_rpc_port%
 
-for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i 
"ain_inference_rpc_address"
+for /f  "eol=# tokens=2 delims==" %%i in ('findstr /i "ain_rpc_address"
 %IOTDB_AINODE_HOME%\conf\iotdb-ainode.properties') do (
-  set ain_inference_rpc_address=%%i
+  set ain_rpc_address=%%i
 )
 
 if defined t (
-    for /f "tokens=2 delims=/" %%a in ("%t%") do set "ain_inference_rpc=%%a"
+    for /f "tokens=2 delims=/" %%a in ("%t%") do set "ain_rpc=%%a"
 ) else (
-    set ain_inference_rpc=%ain_inference_rpc_address%:%ain_inference_rpc_port%
+    set ain_rpc=%ain_rpc_address%:%ain_rpc_port%
 )
 
-echo Target AINode to be stopped: %ain_inference_rpc%
+echo Target AINode to be stopped: %ain_rpc%
 
-for /f "tokens=5" %%a in ('netstat /ano ^| findstr /r /c:"^ *TCP 
*%ain_inference_rpc%.*$"') do (
+for /f "tokens=5" %%a in ('netstat /ano ^| findstr /r /c:"^ *TCP 
*%ain_rpc%.*$"') do (
   taskkill /f /pid %%a
   echo Close AINode, PID: %%a
 )

Reply via email to