This is an automated email from the ASF dual-hosted git repository.
jiangtian 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 0d5b6ac7c5b Remove ttl default configuration and rename
default_ttl_in_ms parameter (#12821)
0d5b6ac7c5b is described below
commit 0d5b6ac7c5b70ed9b5d24436d0b21b056470c4e5
Author: 周沛辰 <[email protected]>
AuthorDate: Tue Jul 2 18:00:19 2024 +0800
Remove ttl default configuration and rename default_ttl_in_ms parameter
(#12821)
* remove ttl column in show db details
* support set ttl to | from path
* allow set ttl to zero
* remove default_ttl_in_ms and change param of multiple tier management to
tier_ttl_in_ms
* fix details
---------
Co-authored-by: Jiang Tian <[email protected]>
---
.../it/cluster/IoTDBClusterNodeGetterIT.java | 1 -
.../confignode/it/utils/ConfigNodeTestUtils.java | 1 -
.../iotdb/confignode/manager/ConfigManager.java | 5 ---
.../iotdb/confignode/manager/TTLManager.java | 4 +-
.../manager/schema/ClusterSchemaManager.java | 3 +-
.../iotdb/confignode/persistence/TTLInfoTest.java | 4 +-
.../common/header/ColumnHeaderConstant.java | 1 -
.../config/metadata/ShowVariablesTask.java | 4 --
.../mtree/impl/pbtree/schemafile/SchemaFile.java | 10 +----
.../conf/iotdb-system.properties.template | 45 ++++++++++++----------
.../apache/iotdb/commons/conf/CommonConfig.java | 4 --
.../iotdb/commons/conf/CommonDescriptor.java | 2 +-
.../apache/iotdb/commons/schema/ttl/TTLCache.java | 14 ++-----
.../src/main/thrift/confignode.thrift | 23 ++++++-----
14 files changed, 47 insertions(+), 74 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterNodeGetterIT.java
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterNodeGetterIT.java
index fc8b08329a2..d31e2217249 100644
---
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterNodeGetterIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/cluster/IoTDBClusterNodeGetterIT.java
@@ -151,7 +151,6 @@ public class IoTDBClusterNodeGetterIT {
Assert.assertEquals(
expectedParameters.getSeriesPartitionExecutorClass(),
clusterParameters.getSeriesPartitionExecutorClass());
- Assert.assertEquals(expectedParameters.getDefaultTTL(),
clusterParameters.getDefaultTTL());
Assert.assertEquals(
expectedParameters.getTimePartitionInterval(),
clusterParameters.getTimePartitionInterval());
diff --git
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java
index 7c6719e6701..76feab5efe3 100644
---
a/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java
+++
b/integration-test/src/test/java/org/apache/iotdb/confignode/it/utils/ConfigNodeTestUtils.java
@@ -320,7 +320,6 @@ public class ConfigNodeTestUtils {
clusterParameters.setSeriesPartitionSlotNum(1000);
clusterParameters.setSeriesPartitionExecutorClass(
"org.apache.iotdb.commons.partition.executor.hash.BKDRHashExecutor");
- clusterParameters.setDefaultTTL(Long.MAX_VALUE);
clusterParameters.setTimePartitionInterval(604800000);
clusterParameters.setDataReplicationFactor(1);
clusterParameters.setSchemaReplicationFactor(1);
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index 61d5c7351d6..0f8271d27de 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@ -534,7 +534,6 @@ public class ConfigManager implements IManager {
CONF.getSchemaRegionConsensusProtocolClass());
clusterParameters.setSeriesPartitionSlotNum(CONF.getSeriesSlotNum());
clusterParameters.setSeriesPartitionExecutorClass(CONF.getSeriesPartitionExecutorClass());
- clusterParameters.setDefaultTTL(COMMON_CONF.getDefaultTTLInMs());
clusterParameters.setTimePartitionOrigin(COMMON_CONF.getTimePartitionOrigin());
clusterParameters.setTimePartitionInterval(COMMON_CONF.getTimePartitionInterval());
clusterParameters.setDataReplicationFactor(CONF.getDataReplicationFactor());
@@ -1251,10 +1250,6 @@ public class ConfigManager implements IManager {
return errorStatus.setMessage(errorPrefix +
"series_partition_executor_class" + errorSuffix);
}
- if (clusterParameters.getDefaultTTL()
- != CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs()) {
- return errorStatus.setMessage(errorPrefix + "default_ttl" + errorSuffix);
- }
if (clusterParameters.getTimePartitionInterval() !=
COMMON_CONF.getTimePartitionInterval()) {
return errorStatus.setMessage(errorPrefix + "time_partition_interval" +
errorSuffix);
}
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/TTLManager.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/TTLManager.java
index 63a8c03d720..fc390314e39 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/TTLManager.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/TTLManager.java
@@ -57,7 +57,7 @@ public class TTLManager {
public TSStatus setTTL(DatabaseSchemaPlan databaseSchemaPlan, final boolean
isGeneratedByPipe)
throws IllegalPathException {
long ttl = databaseSchemaPlan.getSchema().getTTL();
- if (ttl <= 0) {
+ if (ttl < 0) {
TSStatus errorStatus = new
TSStatus(TSStatusCode.TTL_CONFIG_ERROR.getStatusCode());
errorStatus.setMessage("The TTL should be positive.");
return errorStatus;
@@ -79,7 +79,7 @@ public class TTLManager {
path.getFullPath()));
return errorStatus;
}
- if (setTTLPlan.getTTL() <= 0) {
+ if (setTTLPlan.getTTL() < 0) {
TSStatus errorStatus = new
TSStatus(TSStatusCode.TTL_CONFIG_ERROR.getStatusCode());
errorStatus.setMessage("The TTL should be positive.");
return errorStatus;
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
index 63a06519165..d2220feb770 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaManager.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.confignode.manager.schema;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
@@ -398,7 +397,7 @@ public class ClusterSchemaManager {
for (String database : databases) {
try {
long ttl = getDatabaseSchemaByName(database).getTTL();
- if (ttl <= 0 || ttl ==
CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs()) {
+ if (ttl < 0 || ttl == Long.MAX_VALUE) {
continue;
}
infoMap.put(database, ttl);
diff --git
a/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/TTLInfoTest.java
b/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/TTLInfoTest.java
index 02c59f78726..acf5bac1800 100644
---
a/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/TTLInfoTest.java
+++
b/iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/persistence/TTLInfoTest.java
@@ -78,7 +78,7 @@ public class TTLInfoTest {
Map<String, Long> ttlMap = resp.getPathTTLMap();
Map<String, Long> resultMap = new HashMap<>();
- resultMap.put("root.**", ttl);
+ resultMap.put("root.**", Long.MAX_VALUE);
Assert.assertEquals(resultMap, ttlMap);
Assert.assertEquals(1, ttlInfo.getTTLCount());
@@ -175,7 +175,7 @@ public class TTLInfoTest {
// unset ttl
path = new PartialPath("root.**");
ttlInfo.unsetTTL(new SetTTLPlan(Arrays.asList(path.getNodes()), -1));
- resultMap.put(path.getFullPath(), ttl);
+ resultMap.put(path.getFullPath(), Long.MAX_VALUE);
Assert.assertEquals(resultMap, ttlInfo.showTTL(new
ShowTTLPlan()).getPathTTLMap());
Assert.assertEquals(8, ttlInfo.getTTLCount());
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
index 43a2de6602a..f4fd39bf504 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
@@ -137,7 +137,6 @@ public class ColumnHeaderConstant {
"SchemaRegionConsensusProtocolClass";
public static final String SERIES_SLOT_NUM = "SeriesSlotNum";
public static final String SERIES_SLOT_EXECUTOR_CLASS =
"SeriesSlotExecutorClass";
- public static final String DEFAULT_TTL = "DefaultTTL(ms)";
public static final String SCHEMA_REGION_PER_DATA_NODE =
"SchemaRegionPerDataNode";
public static final String DATA_REGION_PER_DATA_NODE =
"DataRegionPerDataNode";
public static final String READ_CONSISTENCY_LEVEL = "ReadConsistencyLevel";
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowVariablesTask.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowVariablesTask.java
index 6a7dbbd6cd7..10267fdf985 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowVariablesTask.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowVariablesTask.java
@@ -110,10 +110,6 @@ public class ShowVariablesTask implements IConfigTask {
new Binary(
String.valueOf(clusterParameters.getTimePartitionInterval()),
TSFileConfig.STRING_CHARSET));
- buildTSBlock(
- builder,
- new Binary(ColumnHeaderConstant.DEFAULT_TTL,
TSFileConfig.STRING_CHARSET),
- new Binary(String.valueOf(clusterParameters.getDefaultTTL()),
TSFileConfig.STRING_CHARSET));
buildTSBlock(
builder,
new Binary(ColumnHeaderConstant.READ_CONSISTENCY_LEVEL,
TSFileConfig.STRING_CHARSET),
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/SchemaFile.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/SchemaFile.java
index 3f2e4002555..248f85bec2e 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/SchemaFile.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/SchemaFile.java
@@ -18,7 +18,6 @@
*/
package
org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.pbtree.schemafile;
-import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.file.SystemFileFactory;
import org.apache.iotdb.commons.schema.SchemaConstant;
@@ -160,7 +159,7 @@ public class SchemaFile implements ISchemaFile {
.getConfig()
.getSchemaRegionConsensusProtocolClass()
.equals(ConsensusFactory.RATIS_CONSENSUS),
- CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs(),
+ Long.MAX_VALUE,
false);
}
@@ -500,12 +499,7 @@ public class SchemaFile implements ISchemaFile {
}
Files.copy(snapshot.toPath(), schemaFile.toPath());
- return new SchemaFile(
- sgName,
- schemaRegionId,
- false,
- CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs(),
- false);
+ return new SchemaFile(sgName, schemaRegionId, false, Long.MAX_VALUE,
false);
}
// endregion
diff --git
a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template
b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template
index 03ade6c909c..b1048098de6 100644
---
a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template
+++
b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template
@@ -1008,28 +1008,9 @@ sort_buffer_size_in_bytes=1048576
merge_threshold_of_explain_analyze=10
####################
-### Storage Engine Configuration
+### TTL Configuration
####################
-# Use this value to set timestamp precision as "ms", "us" or "ns".
-# Once the precision has been set, it can not be changed.
-# effectiveMode: first_start
-# Datatype: String
-timestamp_precision=ms
-
-# When the timestamp precision check is enabled, the timestamps those are over
13 digits for ms precision, or over 16 digits for us precision are not allowed
to be inserted.
-# effectiveMode: first_start
-# Datatype: Boolean
-timestamp_precision_check_enabled=true
-
-# Default TTL for databases that are not set TTL by statements, If not set
(default), the TTL will be unlimited.
-# Negative value means the TTL is unlimited.
-# Notice: if this property is changed, previous created database which are not
set TTL will also be affected.
-# effectiveMode: restart
-# Datatype: long
-# Unit: ms
-default_ttl_in_ms=-1
-
# The interval of TTL check task in each database. The TTL check task will
inspect and select files with a higher volume of expired data for compaction.
Default is 2 hours.
# Notice: It is not recommended to change it too small, as it will affect the
read and write performance of the system.
# effectiveMode: restart
@@ -1037,7 +1018,7 @@ default_ttl_in_ms=-1
# Datatype: int
ttl_check_interval=7200000
-# The maximum expiring time of devices that have a ttl. Default is 1 month.
+# The maximum expiring time of device which has a ttl. Default is 1 month.
# If the data elapsed time (current timestamp minus the maximum data timestamp
of the device in the file) of such devices exceeds this value, then the file
will be cleaned by compaction.
# Notice: It is not recommended to change it too small, as it will affect the
read and write performance of the system.
# effectiveMode: restart
@@ -1050,6 +1031,21 @@ max_expired_time=2592000000
# Datatype: float
expired_data_ratio=0.3
+####################
+### Storage Engine Configuration
+####################
+
+# Use this value to set timestamp precision as "ms", "us" or "ns".
+# Once the precision has been set, it can not be changed.
+# effectiveMode: first_start
+# Datatype: String
+timestamp_precision=ms
+
+# When the timestamp precision check is enabled, the timestamps those are over
13 digits for ms precision, or over 16 digits for us precision are not allowed
to be inserted.
+# effectiveMode: first_start
+# Datatype: Boolean
+timestamp_precision_check_enabled=true
+
# When the waiting time (in ms) of an inserting exceeds this, throw an
exception. 10000 by default.
# If the insertion has been rejected and the read load is low, it can be set
larger
# effectiveMode: restart
@@ -1149,6 +1145,13 @@ recovery_log_interval_in_ms=5000
# Datatype: boolean
enable_tsfile_validation=false
+# Default tier TTL. When the survival time of the data exceeds the threshold,
it will be migrated to the next tier.
+# Negative value means the tier TTL is unlimited.
+# effectiveMode: restart
+# Datatype: long
+# Unit: ms
+tier_ttl_in_ms=-1
+
####################
### Compaction Configurations
####################
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 d8660178e5e..d8cb2133aad 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
@@ -429,10 +429,6 @@ public class CommonConfig {
this.systemFileStorageFs = systemFileStorageFs;
}
- public long getDefaultTTLInMs() {
- return tierTTLInMs[tierTTLInMs.length - 1];
- }
-
public long[] getTierTTLInMs() {
return tierTTLInMs;
}
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
index 0a1fe35da7c..e73b97989b1 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/conf/CommonDescriptor.java
@@ -94,7 +94,7 @@ public class CommonDescriptor {
}
tierTTLStr =
properties
- .getProperty("default_ttl_in_ms",
String.join(IoTDBConstant.TIER_SEPARATOR, tierTTLStr))
+ .getProperty("tier_ttl_in_ms",
String.join(IoTDBConstant.TIER_SEPARATOR, tierTTLStr))
.split(IoTDBConstant.TIER_SEPARATOR);
long[] tierTTL = new long[tierTTLStr.length];
for (int i = 0; i < tierTTL.length; ++i) {
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
index f67856a47f9..1a3e65d3ac5 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/ttl/TTLCache.java
@@ -18,7 +18,6 @@
*/
package org.apache.iotdb.commons.schema.ttl;
-import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.utils.PathUtils;
@@ -46,9 +45,7 @@ public class TTLCache {
public TTLCache() {
ttlCacheTree = new CacheNode(IoTDBConstant.PATH_ROOT);
- ttlCacheTree.addChild(
- IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD,
- CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs());
+ ttlCacheTree.addChild(IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD,
Long.MAX_VALUE);
ttlCount = 1;
}
@@ -58,7 +55,7 @@ public class TTLCache {
* @param nodes should be prefix path or specific device path without
wildcard
*/
public void setTTL(String[] nodes, long ttl) {
- if (nodes.length < 2 || ttl <= 0) {
+ if (nodes.length < 2 || ttl < 0) {
return;
}
CacheNode current = ttlCacheTree;
@@ -88,8 +85,7 @@ public class TTLCache {
// if path equals to root.**, then unset it to configured ttl
if (nodes[0].equals(IoTDBConstant.PATH_ROOT)
&& nodes[1].equals(IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD)) {
- ttlCacheTree.getChild(IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD).ttl =
- CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs();
+ ttlCacheTree.getChild(IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD).ttl =
Long.MAX_VALUE;
return;
}
}
@@ -223,9 +219,7 @@ public class TTLCache {
public void clear() {
ttlCacheTree.removeAllChildren();
- ttlCacheTree.addChild(
- IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD,
- CommonDescriptor.getInstance().getConfig().getDefaultTTLInMs());
+ ttlCacheTree.addChild(IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD,
Long.MAX_VALUE);
}
static class CacheNode {
diff --git a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
index 7b39aa50743..73663b5789e 100644
--- a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
@@ -388,18 +388,17 @@ struct TClusterParameters {
5: required string schemaRegionConsensusProtocolClass
6: required string configNodeConsensusProtocolClass
7: required i64 timePartitionInterval
- 8: required i64 defaultTTL
- 9: required string readConsistencyLevel
- 10: required double schemaRegionPerDataNode
- 11: required double dataRegionPerDataNode
- 12: required i32 seriesPartitionSlotNum
- 13: required string seriesPartitionExecutorClass
- 14: required double diskSpaceWarningThreshold
- 15: required string timestampPrecision
- 16: optional string schemaEngineMode
- 17: optional i32 tagAttributeTotalSize
- 18: optional i32 databaseLimitThreshold
- 19: optional i64 timePartitionOrigin
+ 8: required string readConsistencyLevel
+ 9: required double schemaRegionPerDataNode
+ 10: required double dataRegionPerDataNode
+ 11: required i32 seriesPartitionSlotNum
+ 12: required string seriesPartitionExecutorClass
+ 13: required double diskSpaceWarningThreshold
+ 14: required string timestampPrecision
+ 15: optional string schemaEngineMode
+ 16: optional i32 tagAttributeTotalSize
+ 17: optional i32 databaseLimitThreshold
+ 18: optional i64 timePartitionOrigin
}
struct TConfigNodeRegisterReq {