Skip to content

Commit 16965de

Browse files
authored
Implemented the "restrict_object_limit" for object restriction (#16933)
1 parent 340a860 commit 16965de

File tree

15 files changed

+45
-45
lines changed

15 files changed

+45
-45
lines changed

integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBTableIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ public class IoTDBTableIT {
7373
@BeforeClass
7474
public static void setUp() throws Exception {
7575
EnvFactory.getEnv().getConfig().getCommonConfig().setEnforceStrongPassword(false);
76+
EnvFactory.getEnv().getConfig().getCommonConfig().setRestrictObjectLimit(true);
7677
EnvFactory.getEnv().initClusterEnvironment();
7778
}
7879

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,6 @@ public class ConfigNodeConfig {
316316

317317
private long forceWalPeriodForConfigNodeSimpleInMs = 100;
318318

319-
private boolean restrictObjectLimit = false;
320-
321319
public ConfigNodeConfig() {
322320
// empty constructor
323321
}
@@ -1277,12 +1275,4 @@ public long getFailureDetectorPhiAcceptablePauseInMs() {
12771275
public void setFailureDetectorPhiAcceptablePauseInMs(long failureDetectorPhiAcceptablePauseInMs) {
12781276
this.failureDetectorPhiAcceptablePauseInMs = failureDetectorPhiAcceptablePauseInMs;
12791277
}
1280-
1281-
public boolean getRestrictObjectLimit() {
1282-
return restrictObjectLimit;
1283-
}
1284-
1285-
public void setRestrictObjectLimit(boolean restrictObjectLimit) {
1286-
this.restrictObjectLimit = restrictObjectLimit;
1287-
}
12881278
}

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -368,11 +368,6 @@ private void loadProperties(TrimProperties properties) throws BadNodeUrlExceptio
368368
readConsistencyLevel));
369369
}
370370

371-
conf.setRestrictObjectLimit(
372-
Boolean.parseBoolean(
373-
properties.getProperty(
374-
"restrict_object_limit", String.valueOf(conf.getRestrictObjectLimit()))));
375-
376371
// commons
377372
commonDescriptor.loadCommonProps(properties);
378373
commonDescriptor.initCommonConfigDir(conf.getSystemDir());

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/SystemPropertiesUtils.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,10 +217,13 @@ public static void checkSystemProperties() throws IOException {
217217
if (systemProperties.getProperty("restrict_object_limit", null) != null) {
218218
boolean restrictObjectLimit =
219219
Boolean.parseBoolean(systemProperties.getProperty("restrict_object_limit"));
220-
if (restrictObjectLimit != conf.getRestrictObjectLimit()) {
220+
if (restrictObjectLimit != COMMON_CONFIG.isRestrictObjectLimit()) {
221221
LOGGER.warn(
222-
format, "restrict_object_limit", conf.getRestrictObjectLimit(), restrictObjectLimit);
223-
conf.setRestrictObjectLimit(restrictObjectLimit);
222+
format,
223+
"restrict_object_limit",
224+
COMMON_CONFIG.isRestrictObjectLimit(),
225+
restrictObjectLimit);
226+
COMMON_CONFIG.setRestrictObjectLimit(restrictObjectLimit);
224227
}
225228
}
226229
}
@@ -297,7 +300,7 @@ public static void storeSystemParameters() throws IOException {
297300
systemProperties.setProperty(
298301
"enable_grant_option", String.valueOf(COMMON_CONFIG.getEnableGrantOption()));
299302
systemProperties.setProperty(
300-
"restrict_object_limit", String.valueOf(conf.getRestrictObjectLimit()));
303+
"restrict_object_limit", String.valueOf(COMMON_CONFIG.isRestrictObjectLimit()));
301304
systemPropertiesHandler.overwrite(systemProperties);
302305
}
303306

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ private void setGlobalConfig(ConfigurationResp dataSet) {
179179
globalConfig.setSchemaEngineMode(commonConfig.getSchemaEngineMode());
180180
globalConfig.setTagAttributeTotalSize(commonConfig.getTagAttributeTotalSize());
181181
globalConfig.setEnableGrantOption(commonConfig.getEnableGrantOption());
182-
globalConfig.setRestrictObjectLimit(configNodeConfig.getRestrictObjectLimit());
182+
globalConfig.setRestrictObjectLimit(commonConfig.isRestrictObjectLimit());
183183
dataSet.setGlobalConfig(globalConfig);
184184
}
185185

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,8 +1209,6 @@ public class IoTDBConfig {
12091209

12101210
private long maxObjectSizeInByte = 4 * 1024 * 1024 * 1024L;
12111211

1212-
private boolean restrictObjectLimit = false;
1213-
12141212
IoTDBConfig() {}
12151213

12161214
public int getMaxLogEntriesNumPerBatch() {
@@ -4338,12 +4336,4 @@ public long getMaxObjectSizeInByte() {
43384336
public void setMaxObjectSizeInByte(long maxObjectSizeInByte) {
43394337
this.maxObjectSizeInByte = maxObjectSizeInByte;
43404338
}
4341-
4342-
public boolean getRestrictObjectLimit() {
4343-
return restrictObjectLimit;
4344-
}
4345-
4346-
public void setRestrictObjectLimit(boolean restrictObjectLimit) {
4347-
this.restrictObjectLimit = restrictObjectLimit;
4348-
}
43494339
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2752,7 +2752,6 @@ public void loadGlobalConfig(TGlobalConfig globalConfig) {
27522752
conf.setSeriesPartitionExecutorClass(globalConfig.getSeriesPartitionExecutorClass());
27532753
conf.setSeriesPartitionSlotNum(globalConfig.getSeriesPartitionSlotNum());
27542754
conf.setReadConsistencyLevel(globalConfig.getReadConsistencyLevel());
2755-
conf.setRestrictObjectLimit(globalConfig.isRestrictObjectLimit());
27562755
}
27572756

27582757
public void loadRatisConfig(TRatisConfig ratisConfig) {

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher;
2121

22+
import org.apache.iotdb.commons.conf.CommonDescriptor;
2223
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
2324
import org.apache.iotdb.commons.schema.table.TsTable;
2425
import org.apache.iotdb.db.exception.sql.SemanticException;
@@ -251,6 +252,9 @@ private void autoCreateOrUpdateDeviceSchema(
251252
}
252253

253254
public static void checkObject4DeviceId(final Object[] deviceId) {
255+
if (!CommonDescriptor.getInstance().getConfig().isRestrictObjectLimit()) {
256+
return;
257+
}
254258
for (final Object part : deviceId) {
255259
final String value = (String) part;
256260
if (Objects.nonNull(value) && TsTable.isInvalid4ObjectType(value)) {

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/IObjectPath.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
package org.apache.iotdb.db.storageengine.dataregion;
2121

22-
import org.apache.iotdb.db.conf.IoTDBConfig;
23-
import org.apache.iotdb.db.conf.IoTDBDescriptor;
22+
import org.apache.iotdb.commons.conf.CommonConfig;
23+
import org.apache.iotdb.commons.conf.CommonDescriptor;
2424

2525
import org.apache.tsfile.file.metadata.IDeviceID;
2626

@@ -31,7 +31,7 @@
3131

3232
public interface IObjectPath {
3333

34-
IoTDBConfig CONFIG = IoTDBDescriptor.getInstance().getConfig();
34+
CommonConfig CONFIG = CommonDescriptor.getInstance().getConfig();
3535

3636
int serialize(ByteBuffer byteBuffer);
3737

@@ -48,7 +48,7 @@ interface Factory {
4848
IObjectPath create(int regionId, long time, IDeviceID iDeviceID, String measurement);
4949

5050
Factory FACTORY =
51-
CONFIG.getRestrictObjectLimit()
51+
CONFIG.isRestrictObjectLimit()
5252
? PlainObjectPath.getFACTORY()
5353
: Base32ObjectPath.getFACTORY();
5454
}
@@ -63,7 +63,7 @@ interface Deserializer {
6363
}
6464

6565
static Deserializer getDeserializer() {
66-
return CONFIG.getRestrictObjectLimit()
66+
return CONFIG.isRestrictObjectLimit()
6767
? PlainObjectPath.getDESERIALIZER()
6868
: Base32ObjectPath.getDESERIALIZER();
6969
}

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/function/RecordObjectTypeTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919

2020
package org.apache.iotdb.db.queryengine.plan.function;
2121

22-
import org.apache.iotdb.db.conf.IoTDBConfig;
23-
import org.apache.iotdb.db.conf.IoTDBDescriptor;
22+
import org.apache.iotdb.commons.conf.CommonConfig;
23+
import org.apache.iotdb.commons.conf.CommonDescriptor;
2424
import org.apache.iotdb.db.exception.DiskSpaceInsufficientException;
2525
import org.apache.iotdb.db.queryengine.execution.operator.process.function.partition.Slice;
2626
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.RecordIterator;
@@ -56,7 +56,7 @@
5656

5757
public class RecordObjectTypeTest {
5858

59-
private final IoTDBConfig config = IoTDBDescriptor.getInstance().getConfig();
59+
private final CommonConfig config = CommonDescriptor.getInstance().getConfig();
6060

6161
private File objectDir;
6262

0 commit comments

Comments
 (0)