You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/11/07 02:44:55 UTC
[iotdb] branch master updated: Fixed the bugs of shell (#7910)
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/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 523e82a437 Fixed the bugs of shell (#7910)
523e82a437 is described below
commit 523e82a437df19b9c8cfd20d1032c3a7178b977d
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Mon Nov 7 10:44:47 2022 +0800
Fixed the bugs of shell (#7910)
* Changed the handling logic of removed datanode register
* Fixed bugs of shells
1、Fixed the bug that configuration of confignode-env doesn't work
2、Removed some useless codes
---
.../src/assembly/resources/conf/confignode-env.bat | 22 +-------------------
.../assembly/resources/sbin/start-confignode.bat | 24 ++++++----------------
.../assembly/resources/sbin/start-confignode.sh | 9 ++++----
.../iotdb/confignode/manager/node/NodeManager.java | 3 +++
.../procedure/env/DataNodeRemoveHandler.java | 3 ++-
.../impl/statemachine/RegionMigrateProcedure.java | 2 +-
.../src/assembly/resources/conf/datanode-env.bat | 20 ------------------
.../src/assembly/resources/sbin/start-datanode.bat | 16 ---------------
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 +
9 files changed, 19 insertions(+), 81 deletions(-)
diff --git a/confignode/src/assembly/resources/conf/confignode-env.bat b/confignode/src/assembly/resources/conf/confignode-env.bat
index 5d85f351c3..17365c7bc1 100644
--- a/confignode/src/assembly/resources/conf/confignode-env.bat
+++ b/confignode/src/assembly/resources/conf/confignode-env.bat
@@ -87,25 +87,6 @@ if %desired_yg_in_mb% GTR 16384 (
@REM Minimum heap size
@REM set HEAP_NEWSIZE="2G"
-IF ["%CONFIGNODE_HEAP_OPTS%"] EQU [""] (
- rem detect Java 8 or 11
- IF "%JAVA_VERSION%" == "8" (
- java -d64 -version >nul 2>&1
- set CONFIGNODE_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE% -Xloggc:"%CONFIGNODE_HOME%\gc.log" -XX:+PrintGCDateStamps -XX:+PrintGCDetails
- goto end_config_setting
- ) ELSE (
- goto detect_jdk11_bit_version
- )
-)
-
-:detect_jdk11_bit_version
-for /f "tokens=1-3" %%j in ('java -version 2^>^&1') do (
- @rem echo %%j
- @rem echo %%k
- @rem echo %%l
- set BIT_VERSION=%%l
-)
-
@REM maximum direct memory size
set MAX_DIRECT_MEMORY_SIZE=%MAX_HEAP_SIZE%
@REM threads number that may use direct memory, including query threads(8) + merge threads(4) + space left for system(4)
@@ -116,14 +97,13 @@ set temp_buffer_pool_size=1024
@REM which equals DIRECT_MEMORY_SIZE / threads_number / temp_buffer_pool_size
set MAX_CACHED_BUFFER_SIZE=%max_heap_size_in_mb%*1024*1024/%threads_number%/%temp_buffer_pool_size%
-set CONFIGNODE_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE% -Xlog:gc:"%CONFIGNODE_HOME%\gc.log"
+set CONFIGNODE_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE%
set CONFIGNODE_HEAP_OPTS=%CONFIGNODE_HEAP_OPTS% -XX:MaxDirectMemorySize=%MAX_DIRECT_MEMORY_SIZE%
set CONFIGNODE_HEAP_OPTS=%CONFIGNODE_HEAP_OPTS% -Djdk.nio.maxCachedBufferSize=%MAX_CACHED_BUFFER_SIZE%
@REM You can put your env variable here
@REM set JAVA_HOME=%JAVA_HOME%
-:end_config_setting
@REM set gc log.
IF "%1" equ "printgc" (
IF "%JAVA_VERSION%" == "8" (
diff --git a/confignode/src/assembly/resources/sbin/start-confignode.bat b/confignode/src/assembly/resources/sbin/start-confignode.bat
index c42041e2db..ce1e0f70b5 100644
--- a/confignode/src/assembly/resources/sbin/start-confignode.bat
+++ b/confignode/src/assembly/resources/sbin/start-confignode.bat
@@ -19,6 +19,10 @@
@echo off
+echo ```````````````````````````
+echo Starting IoTDB ConfigNode
+echo ```````````````````````````
+
set PATH="%JAVA_HOME%\bin\";%PATH%
set "FULL_VERSION="
set "MAJOR_VERSION="
@@ -125,29 +129,13 @@ set COMMANSLINE=%%b
goto STR_VISTOR
)
-@REM SETLOCAL DISABLEDELAYEDEXPANSION
-
-echo ```````````````````````````
-echo Starting IoTDB ConfigNode
-echo ```````````````````````````
-
-@REM ----------------------------------------------------------------------------
-@REM SOURCE confignode-env.bat
-IF EXIST "%CONFIGNODE_CONF%\confignode-env.bat" (
- CALL "%CONFIGNODE_CONF%\confignode-env.bat" %1
- ) ELSE (
- echo "can't find %CONFIGNODE_CONF%\confignode-env.bat"
- )
-if NOT DEFINED MAIN_CLASS set MAIN_CLASS=org.apache.iotdb.confignode.service.ConfigNode
-if NOT DEFINED JAVA_HOME goto :err
-
@REM ----------------------------------------------------------------------------
@REM START
:start
if %foreground%==yes (
- java %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %IOTDB_HEAP_OPTS% -cp %CLASSPATH% %IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
+ java %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %CONFIGNODE_HEAP_OPTS% -cp %CLASSPATH% %CONFIGNODE_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
) ELSE (
- start javaw %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %IOTDB_HEAP_OPTS% -cp %CLASSPATH% %IOTDB_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
+ start javaw %ILLEGAL_ACCESS_PARAMS% %JAVA_OPTS% %CONFIGNODE_HEAP_OPTS% -cp %CLASSPATH% %CONFIGNODE_JMX_OPTS% %MAIN_CLASS% %CONF_PARAMS%
)
goto finally
diff --git a/confignode/src/assembly/resources/sbin/start-confignode.sh b/confignode/src/assembly/resources/sbin/start-confignode.sh
index b522f92c12..b2b36b29f2 100644
--- a/confignode/src/assembly/resources/sbin/start-confignode.sh
+++ b/confignode/src/assembly/resources/sbin/start-confignode.sh
@@ -139,19 +139,20 @@ launch_service() {
iotdb_parms="$iotdb_parms -Diotdb-foreground=yes"
if [ "x$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" != "x" ]; then
[ ! -z "$pidfile" ] && printf "%d" $! > "$pidfile"
- exec $NUMACTL "$JAVA" $JVM_OPTS "$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS
+ # shellcheck disable=SC2154
+ exec $NUMACTL "$JAVA" $JVM_OPTS "$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" $illegal_access_params $iotdb_parms $CONFIGNODE_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS
else
[ ! -z "$pidfile" ] && printf "%d" $! > "$pidfile"
- exec $NUMACTL "$JAVA" $JVM_OPTS $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS
+ exec $NUMACTL "$JAVA" $JVM_OPTS $illegal_access_params $iotdb_parms $CONFIGNODE_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS
fi
# Startup IoTDB, background it, and write the pid.
else
if [ "x$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" != "x" ]; then
- exec $NUMACTL "$JAVA" $JVM_OPTS "$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS 2>&1 > /dev/null <&- &
+ exec $NUMACTL "$JAVA" $JVM_OPTS "$JVM_ON_OUT_OF_MEMORY_ERROR_OPT" $illegal_access_params $iotdb_parms $CONFIGNODE_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS 2>&1 > /dev/null <&- &
[ ! -z "$pidfile" ] && printf "%d" $! > "$pidfile"
true
else
- exec $NUMACTL "$JAVA" $JVM_OPTS $illegal_access_params $iotdb_parms $IOTDB_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS 2>&1 > /dev/null <&- &
+ exec $NUMACTL "$JAVA" $JVM_OPTS $illegal_access_params $iotdb_parms $CONFIGNODE_JMX_OPTS -cp "$CLASSPATH" $IOTDB_JVM_OPTS "$class" $PARAMS 2>&1 > /dev/null <&- &
[ ! -z "$pidfile" ] && printf "%d" $! > "$pidfile"
true
fi
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index bbfbf5e6ef..505dde2076 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -248,6 +248,9 @@ public class NodeManager {
status.setCode(TSStatusCode.SUCCESS_STATUS.getStatusCode());
status.setMessage("registerDataNode success.");
+ } else {
+ status.setCode(TSStatusCode.REJECT_REMOVED_DATANODE.getStatusCode());
+ status.setMessage("Cannot register datanode, maybe this datanode is already removed.");
}
dataSet.setStatus(status);
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
index a5f1cc5b2e..b4d4394dba 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/DataNodeRemoveHandler.java
@@ -142,7 +142,7 @@ public class DataNodeRemoveHandler {
if (regionReplicaNodes.isEmpty()) {
LOGGER.warn("Not find region replica nodes, region: {}", regionId);
status = new TSStatus(TSStatusCode.MIGRATE_REGION_ERROR.getStatusCode());
- status.setMessage("not find region replica nodes, region: " + regionId);
+ status.setMessage("Not find region replica nodes, region: " + regionId);
return null;
}
@@ -378,6 +378,7 @@ public class DataNodeRemoveHandler {
* @return data node location
*/
public List<TDataNodeLocation> findRegionReplicaNodes(TConsensusGroupId regionId) {
+ // Through consensus?
List<TRegionReplicaSet> regionReplicaSets =
configManager.getPartitionManager().getAllReplicaSets().stream()
.filter(rg -> rg.regionId.equals(regionId))
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/RegionMigrateProcedure.java b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/RegionMigrateProcedure.java
index 6a7706ed6e..5a33553988 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/RegionMigrateProcedure.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/statemachine/RegionMigrateProcedure.java
@@ -121,7 +121,7 @@ public class RegionMigrateProcedure
if (tsStatus.getCode() == SUCCESS_STATUS.getStatusCode()) {
waitForOneMigrationStepFinished(consensusGroupId, state);
}
- // remove consensus group after a node stop, which will be failed, but we will
+ // Remove consensus group after a node stop, which will be failed, but we will
// continuously execute.
setNextState(RegionTransitionState.UPDATE_REGION_LOCATION_CACHE);
break;
diff --git a/server/src/assembly/resources/conf/datanode-env.bat b/server/src/assembly/resources/conf/datanode-env.bat
index 25fac0736c..e1970d5b85 100644
--- a/server/src/assembly/resources/conf/datanode-env.bat
+++ b/server/src/assembly/resources/conf/datanode-env.bat
@@ -87,25 +87,6 @@ if %desired_yg_in_mb% GTR 16384 (
@REM Minimum heap size
@REM set HEAP_NEWSIZE="2G"
-IF ["%IOTDB_HEAP_OPTS%"] EQU [""] (
- rem detect Java 8 or 11
- IF "%JAVA_VERSION%" == "8" (
- java -d64 -version >nul 2>&1
- set IOTDB_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE% -Xloggc:"%IOTDB_HOME%\gc.log" -XX:+PrintGCDateStamps -XX:+PrintGCDetails
- goto end_config_setting
- ) ELSE (
- goto detect_jdk11_bit_version
- )
-)
-
-:detect_jdk11_bit_version
-for /f "tokens=1-3" %%j in ('java -version 2^>^&1') do (
- @rem echo %%j
- @rem echo %%k
- @rem echo %%l
- set BIT_VERSION=%%l
-)
-
@REM maximum direct memory size
set MAX_DIRECT_MEMORY_SIZE=%MAX_HEAP_SIZE%
@REM threads number that may use direct memory, including query threads(8) + merge threads(4) + space left for system(4)
@@ -123,7 +104,6 @@ set IOTDB_HEAP_OPTS=%IOTDB_HEAP_OPTS% -Djdk.nio.maxCachedBufferSize=%MAX_CACHED_
@REM You can put your env variable here
@REM set JAVA_HOME=%JAVA_HOME%
-:end_config_setting
@REM set gc log.
IF "%1" equ "printgc" (
IF "%JAVA_VERSION%" == "8" (
diff --git a/server/src/assembly/resources/sbin/start-datanode.bat b/server/src/assembly/resources/sbin/start-datanode.bat
index 1597894d91..318e5e534a 100755
--- a/server/src/assembly/resources/sbin/start-datanode.bat
+++ b/server/src/assembly/resources/sbin/start-datanode.bat
@@ -147,22 +147,6 @@ set COMMANSLINE=%%b
goto STR_VISTOR
)
-@REM SETLOCAL DISABLEDELAYEDEXPANSION
-
-echo ````````````````````````
-echo Starting IoTDB
-echo ````````````````````````
-
-@REM ----------------------------------------------------------------------------
-@REM SOURCE iotdb-env.bat
-IF EXIST "%IOTDB_CONF%\iotdb-env.bat" (
- CALL "%IOTDB_CONF%\iotdb-env.bat" %1
- ) ELSE (
- echo "can't find %IOTDB_CONF%\iotdb-env.bat"
- )
-if NOT DEFINED MAIN_CLASS set MAIN_CLASS=org.apache.iotdb.db.service.IoTDB
-if NOT DEFINED JAVA_HOME goto :err
-
@REM ----------------------------------------------------------------------------
@REM START
:start
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
index 9d17fad481..134f3a7bce 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/TSStatusCode.java
@@ -178,6 +178,7 @@ public enum TSStatusCode {
CREATE_TRIGGER_ERROR(922),
DROP_TRIGGER_ERROR(923),
UPDATE_DATANODE_FAILED(924),
+ REJECT_REMOVED_DATANODE(925),
NO_SUCH_CQ(930),
CQ_ALREADY_ACTIVE(931),