This is an automated email from the ASF dual-hosted git repository.
rong 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 b18ccf3b03c Load: Update loadTsFileDirs after all newLoadTsFileDirs
are generated to avoid undefined behavior (#12712)
b18ccf3b03c is described below
commit b18ccf3b03c6fa498812974e432ab1708eda3888
Author: Steve Yurong Su <[email protected]>
AuthorDate: Tue Jun 11 20:54:53 2024 +0800
Load: Update loadTsFileDirs after all newLoadTsFileDirs are generated to
avoid undefined behavior (#12712)
---
.../src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index de2ba36464b..ea42d9f4d73 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -1467,11 +1467,16 @@ public class IoTDBConfig {
}
public void formulateLoadTsFileDirs(String[][] tierDataDirs) {
- loadTsFileDirs = new String[tierDataDirs.length];
+ final String[] newLoadTsFileDirs = new String[tierDataDirs.length];
for (int i = 0; i < tierDataDirs.length; i++) {
- loadTsFileDirs[i] =
+ newLoadTsFileDirs[i] =
tierDataDirs[i][0] + File.separator +
IoTDBConstant.LOAD_TSFILE_FOLDER_NAME;
}
+
+ // Update loadTsFileDirs after all newLoadTsFileDirs are generated,
+ // or the newLoadTsFileDirs will be used in the middle of the process
+ // and cause the undefined behavior.
+ this.loadTsFileDirs = newLoadTsFileDirs;
}
public String getSchemaDir() {