This is an automated email from the ASF dual-hosted git repository.
tanxinyu 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 686ae1b54ff [IOTDB-6303] Correct the default path of user, role and
procedure folder (#12089)
686ae1b54ff is described below
commit 686ae1b54ffb13c4acd18073912eb71ecbe2eaf0
Author: Yongzao <[email protected]>
AuthorDate: Wed Feb 28 18:25:47 2024 +0800
[IOTDB-6303] Correct the default path of user, role and procedure folder
(#12089)
---
.../procedure/store/ConfigProcedureStore.java | 9 +++++
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 14 +++----
.../commons/auth/role/LocalFileRoleAccessor.java | 11 ++++++
.../commons/auth/user/LocalFileUserAccessor.java | 11 ++++++
.../apache/iotdb/commons/conf/CommonConfig.java | 43 +++++++++++++++++++---
.../apache/iotdb/commons/conf/IoTDBConstant.java | 3 +-
6 files changed, 78 insertions(+), 13 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
index e2154903ae0..5e1dcd54041 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ConfigProcedureStore.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.confignode.procedure.store;
import org.apache.iotdb.commons.conf.CommonDescriptor;
+import org.apache.iotdb.commons.utils.FileUtils;
import
org.apache.iotdb.confignode.consensus.request.write.procedure.DeleteProcedurePlan;
import
org.apache.iotdb.confignode.consensus.request.write.procedure.UpdateProcedurePlan;
import org.apache.iotdb.confignode.manager.ConfigManager;
@@ -138,6 +139,7 @@ public class ConfigProcedureStore implements
IProcedureStore {
private void checkProcWalDir(String procedureWalDir) throws IOException {
File dir = new File(procedureWalDir);
+ checkOldProcWalDir(dir);
if (!dir.exists()) {
if (dir.mkdirs()) {
LOG.info("Make procedure wal dir: {}", dir);
@@ -149,4 +151,11 @@ public class ConfigProcedureStore implements
IProcedureStore {
}
}
}
+
+ private void checkOldProcWalDir(File newDir) {
+ File oldDir = new
File(CommonDescriptor.getInstance().getConfig().getOldProcedureWalFolder());
+ if (oldDir.exists()) {
+ FileUtils.moveFileSafe(oldDir, newDir);
+ }
+ }
}
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 854401d7b5e..8aba6ac18b3 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
@@ -258,11 +258,11 @@ public class IoTDBConfig {
/** System directory, including version file for each database and metadata
*/
private String systemDir =
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.SYSTEM_FOLDER_NAME;
+ IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.SYSTEM_FOLDER_NAME;
/** Schema directory, including storage set of values. */
private String schemaDir =
- IoTDBConstant.DEFAULT_BASE_DIR
+ IoTDBConstant.DN_DEFAULT_DATA_DIR
+ File.separator
+ IoTDBConstant.SYSTEM_FOLDER_NAME
+ File.separator
@@ -270,7 +270,7 @@ public class IoTDBConfig {
/** Query directory, stores temporary files of query */
private String queryDir =
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.QUERY_FOLDER_NAME;
+ IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.QUERY_FOLDER_NAME;
/** External lib directory, stores user-uploaded JAR files */
private String extDir = IoTDBConstant.EXT_FOLDER_NAME;
@@ -307,7 +307,7 @@ public class IoTDBConfig {
/** Tiered data directories. It can be settled as dataDirs = {{"data1"},
{"data2", "data3"}}; */
private String[][] tierDataDirs = {
- {IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.DATA_FOLDER_NAME}
+ {IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.DATA_FOLDER_NAME}
};
private String loadTsFileDir =
@@ -317,14 +317,14 @@ public class IoTDBConfig {
private String multiDirStrategyClassName = null;
private String ratisDataRegionSnapshotDir =
- IoTDBConstant.DEFAULT_BASE_DIR
+ IoTDBConstant.DN_DEFAULT_DATA_DIR
+ File.separator
+ IoTDBConstant.DATA_FOLDER_NAME
+ File.separator
+ IoTDBConstant.SNAPSHOT_FOLDER_NAME;
/** Consensus directory. */
- private String consensusDir = IoTDBConstant.DEFAULT_BASE_DIR +
File.separator + "consensus";
+ private String consensusDir = IoTDBConstant.DN_DEFAULT_DATA_DIR +
File.separator + "consensus";
private String dataRegionConsensusDir = consensusDir + File.separator +
"data_region";
@@ -332,7 +332,7 @@ public class IoTDBConfig {
/** temp result directory for sortOperator */
private String sortTmpDir =
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.TMP_FOLDER_NAME;
+ IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.TMP_FOLDER_NAME;
/** Maximum MemTable number. Invalid when enableMemControl is true. */
private int maxMemtableNumber = 0;
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/LocalFileRoleAccessor.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/LocalFileRoleAccessor.java
index 2606db69aa4..530b09b05c9 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/LocalFileRoleAccessor.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/LocalFileRoleAccessor.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.commons.auth.role;
import org.apache.iotdb.commons.auth.entity.PathPrivilege;
import org.apache.iotdb.commons.auth.entity.Role;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.file.SystemFileFactory;
import org.apache.iotdb.commons.utils.FileUtils;
@@ -266,6 +267,7 @@ public class LocalFileRoleAccessor implements IRoleAccessor
{
@Override
public void reset() {
+ checkOldRoleDir(SystemFileFactory.INSTANCE.getFile(roleDirPath));
if (SystemFileFactory.INSTANCE.getFile(roleDirPath).mkdirs()) {
LOGGER.info("role info dir {} is created", roleDirPath);
} else if (!SystemFileFactory.INSTANCE.getFile(roleDirPath).exists()) {
@@ -273,6 +275,15 @@ public class LocalFileRoleAccessor implements
IRoleAccessor {
}
}
+ private void checkOldRoleDir(File newDir) {
+ File oldDir = new
File(CommonDescriptor.getInstance().getConfig().getOldRoleFolder());
+ if (oldDir.exists()) {
+ if (!FileUtils.moveFileSafe(oldDir, newDir)) {
+ LOGGER.error("move old role dir fail: {}", oldDir.getAbsolutePath());
+ }
+ }
+ }
+
@Override
public void cleanRoleFolder() {
File[] files = SystemFileFactory.INSTANCE.getFile(roleDirPath).listFiles();
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/user/LocalFileUserAccessor.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/user/LocalFileUserAccessor.java
index d2030692df2..b59743161d2 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/user/LocalFileUserAccessor.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/user/LocalFileUserAccessor.java
@@ -20,6 +20,7 @@ package org.apache.iotdb.commons.auth.user;
import org.apache.iotdb.commons.auth.entity.PathPrivilege;
import org.apache.iotdb.commons.auth.entity.User;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.file.SystemFileFactory;
import org.apache.iotdb.commons.utils.FileUtils;
@@ -395,6 +396,7 @@ public class LocalFileUserAccessor implements IUserAccessor
{
@Override
public void reset() {
+ checkOldUserDir(SystemFileFactory.INSTANCE.getFile(userDirPath));
if (SystemFileFactory.INSTANCE.getFile(userDirPath).mkdirs()) {
LOGGER.info("user info dir {} is created", userDirPath);
} else if (!SystemFileFactory.INSTANCE.getFile(userDirPath).exists()) {
@@ -402,6 +404,15 @@ public class LocalFileUserAccessor implements
IUserAccessor {
}
}
+ private void checkOldUserDir(File newDir) {
+ File oldDir = new
File(CommonDescriptor.getInstance().getConfig().getOldUserFolder());
+ if (oldDir.exists()) {
+ if (!FileUtils.moveFileSafe(oldDir, newDir)) {
+ LOGGER.error("move old user dir fail: {}", oldDir.getAbsolutePath());
+ }
+ }
+ }
+
@Override
public String getDirPath() {
return userDirPath;
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
index 0a3d1381663..b22c39b0a13 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonConfig.java
@@ -55,22 +55,43 @@ public class CommonConfig {
private String adminPassword = "root";
+ private String oldUserFolder =
+ IoTDBConstant.DN_DEFAULT_DATA_DIR
+ + File.separator
+ + IoTDBConstant.SYSTEM_FOLDER_NAME
+ + File.separator
+ + "users";
+
+ private String oldRoleFolder =
+ IoTDBConstant.DN_DEFAULT_DATA_DIR
+ + File.separator
+ + IoTDBConstant.SYSTEM_FOLDER_NAME
+ + File.separator
+ + "roles";
+
+ private String oldProcedureWalFolder =
+ IoTDBConstant.DN_DEFAULT_DATA_DIR
+ + File.separator
+ + IoTDBConstant.SYSTEM_FOLDER_NAME
+ + File.separator
+ + "procedure";
+
private String userFolder =
- IoTDBConstant.DEFAULT_BASE_DIR
+ IoTDBConstant.CN_DEFAULT_DATA_DIR
+ File.separator
+ IoTDBConstant.SYSTEM_FOLDER_NAME
+ File.separator
+ "users";
private String roleFolder =
- IoTDBConstant.DEFAULT_BASE_DIR
+ IoTDBConstant.CN_DEFAULT_DATA_DIR
+ File.separator
+ IoTDBConstant.SYSTEM_FOLDER_NAME
+ File.separator
+ "roles";
private String procedureWalFolder =
- IoTDBConstant.DEFAULT_BASE_DIR
+ IoTDBConstant.CN_DEFAULT_DATA_DIR
+ File.separator
+ IoTDBConstant.SYSTEM_FOLDER_NAME
+ File.separator
@@ -78,11 +99,11 @@ public class CommonConfig {
/** Sync directory, including the log and hardlink tsFiles. */
private String syncDir =
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.SYNC_FOLDER_NAME;
+ IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.SYNC_FOLDER_NAME;
/** WAL directories. */
private String[] walDirs = {
- IoTDBConstant.DEFAULT_BASE_DIR + File.separator +
IoTDBConstant.WAL_FOLDER_NAME
+ IoTDBConstant.DN_DEFAULT_DATA_DIR + File.separator +
IoTDBConstant.WAL_FOLDER_NAME
};
/** Default system file storage is in local file system (unsupported). */
@@ -297,6 +318,18 @@ public class CommonConfig {
this.adminPassword = adminPassword;
}
+ public String getOldUserFolder() {
+ return oldUserFolder;
+ }
+
+ public String getOldRoleFolder() {
+ return oldRoleFolder;
+ }
+
+ public String getOldProcedureWalFolder() {
+ return oldProcedureWalFolder;
+ }
+
public String getUserFolder() {
return userFolder;
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
index 9b7c37782b3..23bc7884345 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/IoTDBConstant.java
@@ -221,7 +221,8 @@ public class IoTDBConstant {
MAX_STRING_LENGTH));
// default base dir, stores all IoTDB runtime files
- public static final String DEFAULT_BASE_DIR = "data" + File.separator +
DN_ROLE;
+ public static final String CN_DEFAULT_DATA_DIR = "data" + File.separator +
CN_ROLE;
+ public static final String DN_DEFAULT_DATA_DIR = "data" + File.separator +
DN_ROLE;
// data folder name
public static final String DATA_FOLDER_NAME = "data";