Skip to content

Commit 2c845e1

Browse files
authored
feat: pass -Dtsfile.locale=zh to JVM under with-zh-locale build (#17716)
1 parent df7e92a commit 2c845e1

12 files changed

Lines changed: 121 additions & 3 deletions

File tree

distribution/src/assembly/all.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,21 @@
6464
<excludes>
6565
<exclude>ainode-env.*</exclude>
6666
<exclude>**/ainode-env.*</exclude>
67+
<exclude>iotdb-common.sh</exclude>
68+
<exclude>**/iotdb-common.bat</exclude>
6769
</excludes>
6870
<fileMode>0755</fileMode>
6971
</fileSet>
72+
<fileSet>
73+
<outputDirectory>conf</outputDirectory>
74+
<directory>${project.basedir}/../scripts/conf</directory>
75+
<includes>
76+
<include>iotdb-common.sh</include>
77+
<include>windows/iotdb-common.bat</include>
78+
</includes>
79+
<filtered>true</filtered>
80+
<fileMode>0755</fileMode>
81+
</fileSet>
7082
<fileSet>
7183
<outputDirectory>sbin</outputDirectory>
7284
<directory>${project.basedir}/../scripts/sbin</directory>

distribution/src/assembly/confignode.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,21 @@
4949
<directory>${project.basedir}/../scripts/conf</directory>
5050
<outputDirectory>conf</outputDirectory>
5151
<includes>
52-
<include>iotdb-common.*</include>
5352
<include>confignode-env.*</include>
5453
<include>**/confignode-env.*</include>
5554
</includes>
5655
<fileMode>0755</fileMode>
5756
</fileSet>
57+
<fileSet>
58+
<directory>${project.basedir}/../scripts/conf</directory>
59+
<outputDirectory>conf</outputDirectory>
60+
<includes>
61+
<include>iotdb-common.sh</include>
62+
<include>windows/iotdb-common.bat</include>
63+
</includes>
64+
<filtered>true</filtered>
65+
<fileMode>0755</fileMode>
66+
</fileSet>
5867
<fileSet>
5968
<directory>${project.basedir}/../scripts/sbin</directory>
6069
<outputDirectory>sbin</outputDirectory>

integration-test/src/assembly/mpp-test.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,20 @@
4949
<fileSet>
5050
<outputDirectory>conf</outputDirectory>
5151
<directory>${project.basedir}/../scripts/conf</directory>
52+
<excludes>
53+
<exclude>iotdb-common.sh</exclude>
54+
<exclude>**/iotdb-common.bat</exclude>
55+
</excludes>
56+
<fileMode>0755</fileMode>
57+
</fileSet>
58+
<fileSet>
59+
<outputDirectory>conf</outputDirectory>
60+
<directory>${project.basedir}/../scripts/conf</directory>
61+
<includes>
62+
<include>iotdb-common.sh</include>
63+
<include>windows/iotdb-common.bat</include>
64+
</includes>
65+
<filtered>true</filtered>
5266
<fileMode>0755</fileMode>
5367
</fileSet>
5468
<fileSet>

iotdb-core/confignode/src/assembly/confignode.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@
4545
</includes>
4646
<fileMode>0755</fileMode>
4747
</fileSet>
48+
<fileSet>
49+
<directory>${project.basedir}/../../scripts/conf</directory>
50+
<outputDirectory>conf</outputDirectory>
51+
<includes>
52+
<include>windows/iotdb-common.bat</include>
53+
</includes>
54+
<filtered>true</filtered>
55+
<fileMode>0755</fileMode>
56+
</fileSet>
4857
<fileSet>
4958
<directory>${project.basedir}/../../scripts/sbin</directory>
5059
<outputDirectory>sbin</outputDirectory>
@@ -72,6 +81,7 @@
7281
<file>
7382
<source>${project.basedir}/../../scripts/conf/iotdb-common.sh</source>
7483
<destName>conf/iotdb-common.sh</destName>
84+
<filtered>true</filtered>
7585
</file>
7686
</files>
7787
</assembly>

iotdb-core/datanode/src/assembly/server.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,15 @@
4545
</includes>
4646
<fileMode>0755</fileMode>
4747
</fileSet>
48+
<fileSet>
49+
<directory>${project.basedir}/../../scripts/conf</directory>
50+
<outputDirectory>conf</outputDirectory>
51+
<includes>
52+
<include>windows/iotdb-common.bat</include>
53+
</includes>
54+
<filtered>true</filtered>
55+
<fileMode>0755</fileMode>
56+
</fileSet>
4857
<fileSet>
4958
<directory>${project.basedir}/../../scripts/sbin</directory>
5059
<outputDirectory>sbin</outputDirectory>
@@ -70,10 +79,11 @@
7079
<source>${project.basedir}/../node-commons/src/assembly/resources/conf/iotdb-system.properties</source>
7180
<destName>conf/iotdb-system.properties</destName>
7281
</file>
73-
<!-- copy iotdb-common.sh to different script folders-->
82+
<!-- copy iotdb-common.sh to different script folders (filtered for tsfile.locale.opt) -->
7483
<file>
7584
<source>${project.basedir}/../../scripts/conf/iotdb-common.sh</source>
7685
<destName>conf/iotdb-common.sh</destName>
86+
<filtered>true</filtered>
7787
</file>
7888
</files>
7989
</assembly>

pom.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,9 @@
164164
<thrift.version>0.14.1</thrift.version>
165165
<xz.version>1.9</xz.version>
166166
<zstd-jni.version>1.5.6-3</zstd-jni.version>
167-
<tsfile.version>2.3.0-260422-SNAPSHOT</tsfile.version>
167+
<tsfile.version>2.3.1-260519-SNAPSHOT</tsfile.version>
168168
<i18n.locale>en</i18n.locale>
169+
<tsfile.locale.opt/>
169170
</properties>
170171
<!--
171172
if we claim dependencies in dependencyManagement, then we do not claim
@@ -1984,6 +1985,7 @@
19841985
<id>with-zh-locale</id>
19851986
<properties>
19861987
<i18n.locale>zh</i18n.locale>
1988+
<tsfile.locale.opt>-Dtsfile.locale=zh</tsfile.locale.opt>
19871989
</properties>
19881990
</profile>
19891991
</profiles>

scripts/conf/confignode-env.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,13 @@ if [[ ! "$CONFIGNODE_JMX_OPTS" =~ -XX:MaxDirectMemorySize ]]; then CONFIGNODE_JM
321321
CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -Djdk.nio.maxCachedBufferSize=${MAX_CACHED_BUFFER_SIZE}"
322322
CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -XX:+CrashOnOutOfMemoryError"
323323
CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8"
324+
325+
# Append tsfile locale option populated by Maven at package time
326+
# (see conf/iotdb-common.sh; empty in default build, "-Dtsfile.locale=zh" under with-zh-locale).
327+
if [ -n "$TSFILE_LOCALE_JVM_OPT" ]; then
328+
CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS $TSFILE_LOCALE_JVM_OPT"
329+
fi
330+
324331
# if you want to dump the heap memory while OOM happening, you can use the following command, remember to replace ${heap_dump_dir}/confignode_heapdump.hprof with your own file path and the folder where this file is located needs to be created in advance
325332
#CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${heap_dump_dir}/confignode_heapdump.hprof"
326333

scripts/conf/datanode-env.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,12 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:SafepointTimeoutDelay=1000"
339339
IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:+SafepointTimeout"
340340
IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8"
341341

342+
# Append tsfile locale option populated by Maven at package time
343+
# (see conf/iotdb-common.sh; empty in default build, "-Dtsfile.locale=zh" under with-zh-locale).
344+
if [ -n "$TSFILE_LOCALE_JVM_OPT" ]; then
345+
IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS $TSFILE_LOCALE_JVM_OPT"
346+
fi
347+
342348
# option below tries to optimize safepoint stw time for large counted loop.
343349
# NOTE: it may have an impact on JIT's black-box optimization.
344350
# IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:+UseCountedLoopSafepoints"

scripts/conf/iotdb-common.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818
# under the License.
1919
#
2020

21+
# JVM option for selecting tsfile's runtime locale (log/exception messages).
22+
# Filtered by Maven at package time:
23+
# - Default build: empty (English).
24+
# - `with-zh-locale` profile: "-Dtsfile.locale=zh".
25+
TSFILE_LOCALE_JVM_OPT="@tsfile.locale.opt@"
26+
2127

2228
# this function is for parsing the variables like "A=B" in `start-server.sh -D A=B`
2329
# The command just parse IOTDB-prefixed variables and ignore all other variables

scripts/conf/windows/confignode-env.bat

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,5 +152,14 @@ IF "%JAVA_VERSION%" == "8" (
152152
--add-opens=java.base/java.net=ALL-UNNAMED
153153
)
154154

155+
@REM Apply tsfile locale option populated by Maven at package time
156+
@REM (see conf\windows\iotdb-common.bat; empty in default build, -Dtsfile.locale=zh under with-zh-locale).
157+
IF EXIST "%CONFIGNODE_CONF%\windows\iotdb-common.bat" (
158+
CALL "%CONFIGNODE_CONF%\windows\iotdb-common.bat"
159+
IF NOT "%TSFILE_LOCALE_JVM_OPT%"=="" (
160+
set CONFIGNODE_JMX_OPTS=%CONFIGNODE_JMX_OPTS% %TSFILE_LOCALE_JVM_OPT%
161+
)
162+
)
163+
155164
echo ConfigNode on heap memory size = %ON_HEAP_MEMORY%B, off heap memory size = %OFF_HEAP_MEMORY%B
156165
echo If you want to change this configuration, please check conf/windows/confignode-env.bat.

0 commit comments

Comments
 (0)