You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by zy...@apache.org on 2022/11/22 05:54:54 UTC
[iotdb] branch master updated: Remove useless code in schema module (#8084)
This is an automated email from the ASF dual-hosted git repository.
zyk 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 92c98dddb8 Remove useless code in schema module (#8084)
92c98dddb8 is described below
commit 92c98dddb827fd05e761c45bf81a85c430c6229a
Author: Marcos_Zyk <38...@users.noreply.github.com>
AuthorDate: Tue Nov 22 13:54:48 2022 +0800
Remove useless code in schema module (#8084)
Remove useless code in schema module (#8084)
---
.../persistence/schema/ClusterSchemaInfo.java | 2 +-
.../schemaregion/rocksdb/RSchemaRegion.java | 39 +-
.../schemaregion/rocksdb/mnode/REntityMNode.java | 5 -
.../schemaregion/rocksdb/mnode/RInternalMNode.java | 8 -
.../rocksdb/mnode/RMeasurementMNode.java | 6 -
.../rocksdb/mnode/RStorageGroupMNode.java | 8 -
.../metadata/tagSchemaRegion/TagSchemaRegion.java | 17 +-
.../iotdb/db/localconfignode/LocalConfigNode.java | 45 +-
.../iotdb/db/metadata/LocalSchemaProcessor.java | 193 +--------
.../idtable/entry/InsertMeasurementMNode.java | 6 -
.../iotdb/db/metadata/logfile/MLogTxtReader.java | 78 ----
.../iotdb/db/metadata/logfile/MLogTxtWriter.java | 458 ---------------------
.../org/apache/iotdb/db/metadata/mnode/IMNode.java | 4 -
.../iotdb/db/metadata/mnode/InternalMNode.java | 24 --
.../iotdb/db/metadata/mnode/MeasurementMNode.java | 18 -
.../db/metadata/mnode/StorageGroupEntityMNode.java | 10 -
.../iotdb/db/metadata/mnode/StorageGroupMNode.java | 19 -
.../iotdb/db/metadata/mtree/ConfigMTree.java | 8 +-
.../iotdb/db/metadata/mtree/IMTreeBelowSG.java | 7 +-
.../db/metadata/mtree/MTreeBelowSGCachedImpl.java | 5 +-
.../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 5 +-
.../mtree/traverser/collector/MNodeCollector.java | 18 -
.../db/metadata/schemaregion/ISchemaRegion.java | 26 +-
.../schemaregion/SchemaRegionMemoryImpl.java | 27 +-
.../schemaregion/SchemaRegionSchemaFileImpl.java | 27 +-
.../storagegroup/IStorageGroupSchemaManager.java | 7 +-
.../storagegroup/StorageGroupSchemaManager.java | 9 +-
.../schema/NodePathsSchemaScanOperator.java | 3 +-
.../plan/analyze/StandalonePartitionFetcher.java | 2 +-
.../apache/iotdb/db/qp/executor/PlanExecutor.java | 5 -
.../db/service/thrift/impl/TSServiceImpl.java | 2 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 24 --
.../apache/iotdb/db/metadata/SchemaBasicTest.java | 44 --
.../iotdb/db/metadata/mtree/ConfigMTreeTest.java | 19 +-
.../iotdb/db/metadata/mtree/MTreeBelowSGTest.java | 48 +--
35 files changed, 36 insertions(+), 1190 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
index 1b93dce687..e16dda2c8a 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/ClusterSchemaInfo.java
@@ -535,7 +535,7 @@ public class ClusterSchemaInfo implements SnapshotProcessor {
new Pair(new HashSet<>(), new HashSet<>());
storageGroupReadWriteLock.readLock().lock();
try {
- matchedPathsInNextLevel = mTree.getNodesListInGivenLevel(partialPath, level, true, null);
+ matchedPathsInNextLevel = mTree.getNodesListInGivenLevel(partialPath, level, true);
} catch (MetadataException e) {
LOGGER.error("Error get matched paths in given level.", e);
} finally {
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/RSchemaRegion.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/RSchemaRegion.java
index 7fae87633b..c0556ecec1 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/RSchemaRegion.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/RSchemaRegion.java
@@ -39,7 +39,6 @@ import org.apache.iotdb.db.exception.metadata.MNodeTypeMismatchException;
import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor.StorageGroupFilter;
import org.apache.iotdb.db.metadata.MetadataConstant;
import org.apache.iotdb.db.metadata.idtable.IDTable;
import org.apache.iotdb.db.metadata.idtable.IDTableManager;
@@ -48,7 +47,6 @@ import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.mnode.MNodeType;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IActivateTemplateInClusterPlan;
-import org.apache.iotdb.db.metadata.plan.schemaregion.write.IAutoCreateDeviceMNodePlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateAlignedTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IDeactivateTemplatePlan;
@@ -846,11 +844,6 @@ public class RSchemaRegion implements ISchemaRegion {
return node;
}
- @Override
- public void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {
- throw new UnsupportedOperationException();
- }
-
@Override
public boolean isPathExist(PartialPath path) throws MetadataException {
if (IoTDBConstant.PATH_ROOT.equals(path.getFullPath())) {
@@ -912,35 +905,6 @@ public class RSchemaRegion implements ISchemaRegion {
return atomicInteger.get();
}
- @Override
- public int getNodesCountInGivenLevel(PartialPath pathPattern, int level, boolean isPrefixMatch)
- throws MetadataException {
- // todo support wildcard
- if (pathPattern.getFullPath().contains(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD)) {
- throw new UnsupportedOperationException(
- "Wildcards are not currently supported for this operation"
- + " [COUNT NODES pathPattern].");
- }
- String innerNameByLevel =
- RSchemaUtils.getLevelPath(pathPattern.getNodes(), pathPattern.getNodeLength() - 1, level);
- AtomicInteger atomicInteger = new AtomicInteger(0);
- Function<String, Boolean> function =
- s -> {
- atomicInteger.incrementAndGet();
- return true;
- };
- Arrays.stream(ALL_NODE_TYPE_ARRAY)
- .parallel()
- .forEach(
- x -> {
- String getKeyByInnerNameLevel =
- x + innerNameByLevel + RSchemaConstants.PATH_SEPARATOR + level;
- readWriteHandler.getKeyByPrefix(getKeyByInnerNameLevel, function);
- });
-
- return atomicInteger.get();
- }
-
@Override
public Map<PartialPath, Integer> getMeasurementCountGroupByLevel(
PartialPath pathPattern, int level, boolean isPrefixMatch) throws MetadataException {
@@ -1050,8 +1014,7 @@ public class RSchemaRegion implements ISchemaRegion {
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch, StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
if (pathPattern.getFullPath().contains(IoTDBConstant.ONE_LEVEL_PATH_WILDCARD)) {
throw new UnsupportedOperationException(
formatNotSupportInfo(Thread.currentThread().getStackTrace()[1].getMethodName()));
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/REntityMNode.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/REntityMNode.java
index 8d74e21891..4fedc54239 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/REntityMNode.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/REntityMNode.java
@@ -20,7 +20,6 @@
package org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode;
import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
import org.apache.iotdb.db.metadata.mnode.MNodeType;
@@ -31,7 +30,6 @@ import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
import org.rocksdb.RocksDBException;
-import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Map;
@@ -133,7 +131,4 @@ public class REntityMNode extends RInternalMNode implements IEntityMNode {
public MNodeType getMNodeType(Boolean isConfig) {
return MNodeType.DEVICE;
}
-
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {}
}
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RInternalMNode.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RInternalMNode.java
index 4b9680472f..cff6733d21 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RInternalMNode.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RInternalMNode.java
@@ -20,7 +20,6 @@
package org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode;
import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.MNodeType;
import org.apache.iotdb.db.metadata.mnode.container.IMNodeContainer;
@@ -30,8 +29,6 @@ import org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaUtils;
import org.rocksdb.RocksDBException;
-import java.io.IOException;
-
public class RInternalMNode extends RMNode {
private volatile boolean useTemplate = false;
@@ -171,9 +168,4 @@ public class RInternalMNode extends RMNode {
public void setUseTemplate(boolean useTemplate) {
this.useTemplate = useTemplate;
}
-
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- throw new UnsupportedOperationException();
- }
}
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RMeasurementMNode.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RMeasurementMNode.java
index 4ad39a9b62..c13879c552 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RMeasurementMNode.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RMeasurementMNode.java
@@ -21,7 +21,6 @@ package org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.MeasurementPath;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
@@ -136,11 +135,6 @@ public class RMeasurementMNode extends RMNode implements IMeasurementMNode {
@Override
public void setPreDeleted(boolean preDeleted) {}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- throw new UnsupportedOperationException();
- }
-
private void deserialize(byte[] value) {
ByteBuffer byteBuffer = ByteBuffer.wrap(value);
// skip the version flag and node type flag
diff --git a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
index ccb7cb21df..aac3de5a11 100644
--- a/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
+++ b/schema-engine-rocksdb/src/main/java/org/apache/iotdb/db/metadata/schemaregion/rocksdb/mnode/RStorageGroupMNode.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode;
import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.mnode.MNodeType;
import org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaConstants;
@@ -31,8 +30,6 @@ import org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaUtils;
import org.rocksdb.RocksDBException;
-import java.io.IOException;
-
public class RStorageGroupMNode extends RInternalMNode implements IStorageGroupMNode {
private long dataTTL;
@@ -92,11 +89,6 @@ public class RStorageGroupMNode extends RInternalMNode implements IStorageGroupM
return MNodeType.STORAGE_GROUP;
}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- throw new UnsupportedOperationException();
- }
-
@Override
public long getDataTTL() {
return dataTTL;
diff --git a/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java b/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
index 996e9418cf..0d2260eee5 100644
--- a/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
+++ b/schema-engine-tag/src/main/java/org/apache/iotdb/db/metadata/tagSchemaRegion/TagSchemaRegion.java
@@ -33,7 +33,6 @@ import org.apache.iotdb.db.exception.metadata.AlignedTimeseriesException;
import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.idtable.entry.DeviceEntry;
import org.apache.iotdb.db.metadata.idtable.entry.DiskSchemaEntry;
import org.apache.iotdb.db.metadata.idtable.entry.IDeviceID;
@@ -44,7 +43,6 @@ import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IActivateTemplateInClusterPlan;
-import org.apache.iotdb.db.metadata.plan.schemaregion.write.IAutoCreateDeviceMNodePlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateAlignedTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IDeactivateTemplatePlan;
@@ -349,9 +347,6 @@ public class TagSchemaRegion implements ISchemaRegion {
throw new UnsupportedOperationException("deleteTimeseriesInBlackList");
}
- @Override
- public void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {}
-
@Override
public boolean isPathExist(PartialPath path) throws MetadataException {
throw new UnsupportedOperationException("isPathExist");
@@ -417,19 +412,9 @@ public class TagSchemaRegion implements ISchemaRegion {
}
}
- @Override
- public int getNodesCountInGivenLevel(PartialPath pathPattern, int level, boolean isPrefixMatch)
- throws MetadataException {
- throw new UnsupportedOperationException("getNodesCountInGivenLevel");
- }
-
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
throw new UnsupportedOperationException("getNodesListInGivenLevel");
}
diff --git a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
index 8198b77005..c52d2b125d 100644
--- a/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/localconfignode/LocalConfigNode.java
@@ -70,7 +70,6 @@ import org.apache.iotdb.db.exception.metadata.StorageGroupAlreadySetException;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.schemaregion.ISchemaRegion;
import org.apache.iotdb.db.metadata.schemaregion.SchemaEngine;
@@ -437,42 +436,6 @@ public class LocalConfigNode {
return storageGroupSchemaManager.getAllStorageGroupPaths();
}
- /**
- * For a path, infer all databases it may belong to. The path can have wildcards. Resolve the path
- * or path pattern into StorageGroupName-FullPath pairs that FullPath matches the given path.
- *
- * <p>Consider the path into two parts: (1) the sub path which can not contain a database name and
- * (2) the sub path which is substring that begin after the database name.
- *
- * <p>(1) Suppose the part of the path can not contain a database name (e.g.,
- * "root".contains("root.sg") == false), then: For each one level wildcard *, only one level will
- * be inferred and the wildcard will be removed. For each multi level wildcard **, then the
- * inference will go on until the databases are found and the wildcard will be kept. (2) Suppose
- * the part of the path is a substring that begin after the database name. (e.g., For
- * "root.*.sg1.a.*.b.*" and "root.x.sg1" is a database, then this part is "a.*.b.*"). For this
- * part, keep what it is.
- *
- * <p>Assuming we have three SGs: root.group1, root.group2, root.area1.group3 Eg1: for input
- * "root.**", returns ("root.group1", "root.group1.**"), ("root.group2", "root.group2.**")
- * ("root.area1.group3", "root.area1.group3.**") Eg2: for input "root.*.s1", returns
- * ("root.group1", "root.group1.s1"), ("root.group2", "root.group2.s1")
- *
- * <p>Eg3: for input "root.area1.**", returns ("root.area1.group3", "root.area1.group3.**")
- *
- * @param path can be a path pattern or a full path.
- * @return StorageGroupName-FullPath pairs
- * @apiNote :for cluster
- */
- public Map<String, List<PartialPath>> groupPathByStorageGroup(PartialPath path)
- throws MetadataException {
- Map<String, List<PartialPath>> sgPathMap =
- storageGroupSchemaManager.groupPathByStorageGroup(path);
- if (logger.isDebugEnabled()) {
- logger.debug("The databases of path {} are {}", path, sgPathMap.keySet());
- }
- return sgPathMap;
- }
-
/**
* get all storageGroups ttl
*
@@ -498,13 +461,9 @@ public class LocalConfigNode {
* @param isPrefixMatch if true, the path pattern is used to match prefix path
*/
public Pair<List<PartialPath>, Set<PartialPath>> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
return storageGroupSchemaManager.getNodesListInGivenLevel(
- pathPattern, nodeLevel, isPrefixMatch, filter);
+ pathPattern, nodeLevel, isPrefixMatch);
}
/**
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java b/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
index a7a08c9e9d..9e268f0144 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/LocalSchemaProcessor.java
@@ -69,7 +69,6 @@ import java.util.TreeSet;
import java.util.stream.Stream;
import static java.util.stream.Collectors.toList;
-import static org.apache.iotdb.tsfile.common.constant.TsFileConstant.PATH_SEPARATOR;
/**
* This class takes the responsibility of serialization of all the metadata info and persistent it
@@ -96,7 +95,6 @@ import static org.apache.iotdb.tsfile.common.constant.TsFileConstant.PATH_SEPARA
* </ol>
* <li>Interfaces and methods for MNode query
* <li>Interfaces for alias and tag/attribute operations
- * <li>Interfaces only for Cluster module usage
* <li>TestOnly Interfaces
* </ol>
*/
@@ -346,11 +344,6 @@ public class LocalSchemaProcessor {
}
}
- /** Get metadata in string */
- public String getMetadataInString() {
- return "Doesn't support metadata Tree toString since v0.14";
- }
-
// region Interfaces for metadata count
/**
@@ -393,11 +386,6 @@ public class LocalSchemaProcessor {
return num;
}
- /** To calculate the count of devices for given path pattern. */
- public int getDevicesNum(PartialPath pathPattern) throws MetadataException {
- return getDevicesNum(pathPattern, false);
- }
-
/**
* To calculate the count of database for given path pattern. If using prefix match, the path
* pattern is used to match prefix path. All timeseries start with the matched prefix path will be
@@ -422,17 +410,6 @@ public class LocalSchemaProcessor {
return getNodesListInGivenLevel(pathPattern, level, isPrefixMatch).size();
}
- /**
- * To calculate the count of nodes in the given level for given path pattern.
- *
- * @param pathPattern a path pattern or a full path
- * @param level the level should match the level of the path
- */
- public int getNodesCountInGivenLevel(PartialPath pathPattern, int level)
- throws MetadataException {
- return getNodesCountInGivenLevel(pathPattern, level, false);
- }
-
public Map<PartialPath, Integer> getMeasurementCountGroupByLevel(
PartialPath pathPattern, int level, boolean isPrefixMatch) throws MetadataException {
Map<PartialPath, Integer> result = new HashMap<>();
@@ -463,31 +440,14 @@ public class LocalSchemaProcessor {
* @param nodeLevel the level should match the level of the path
* @return A List instance which stores all node at given level
*/
- public List<PartialPath> getNodesListInGivenLevel(PartialPath pathPattern, int nodeLevel)
- throws MetadataException {
- return getNodesListInGivenLevel(pathPattern, nodeLevel, null);
- }
-
- public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern, int nodeLevel, StorageGroupFilter filter) throws MetadataException {
- return getNodesListInGivenLevel(pathPattern, nodeLevel, false, filter);
- }
-
private List<PartialPath> getNodesListInGivenLevel(
PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
- return getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, null);
- }
-
- private List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch, StorageGroupFilter filter)
- throws MetadataException {
Pair<List<PartialPath>, Set<PartialPath>> pair =
- configManager.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, filter);
+ configManager.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch);
Set<PartialPath> result = new TreeSet<>(pair.left);
for (PartialPath storageGroup : pair.right) {
for (ISchemaRegion schemaRegion : getSchemaRegionsByStorageGroup(storageGroup)) {
- result.addAll(
- schemaRegion.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, filter));
+ result.addAll(schemaRegion.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch));
}
}
return new ArrayList<>(result);
@@ -601,15 +561,6 @@ public class LocalSchemaProcessor {
return configManager.getAllStorageGroupPaths();
}
- /**
- * get all storageGroups ttl
- *
- * @return key-> storageGroupPath, value->ttl
- */
- public Map<PartialPath, Long> getStorageGroupsTTL() {
- return configManager.getStorageGroupsTTL();
- }
-
// endregion
// region Interfaces for Entity/Device info Query
@@ -849,26 +800,6 @@ public class LocalSchemaProcessor {
throw new PathNotExistException(fullPath.getFullPath());
}
}
-
- /**
- * Invoked during insertPlan process. Get target MeasurementMNode from given EntityMNode. If the
- * result is not null and is not MeasurementMNode, it means a timeseries with same path cannot be
- * created thus throw PathAlreadyExistException.
- */
- protected IMeasurementMNode getMeasurementMNode(IMNode deviceMNode, String measurementName)
- throws MetadataException {
- IMNode result = deviceMNode.getChild(measurementName);
- if (result == null) {
- return null;
- }
-
- if (result.isMeasurement()) {
- return result.getAsMeasurementMNode();
- } else {
- throw new PathAlreadyExistException(
- deviceMNode.getFullPath() + PATH_SEPARATOR + measurementName);
- }
- }
// endregion
// region Interfaces for alias and tag/attribute operations
@@ -896,17 +827,6 @@ public class LocalSchemaProcessor {
.upsertTagsAndAttributes(alias, tagsMap, attributesMap, fullPath);
}
- /**
- * add new attributes key-value for the timeseries
- *
- * @param attributesMap newly added attributes map
- * @param fullPath timeseries
- */
- public void addAttributes(Map<String, String> attributesMap, PartialPath fullPath)
- throws MetadataException, IOException {
- getBelongedSchemaRegion(fullPath).addAttributes(attributesMap, fullPath);
- }
-
/**
* add new tags key-value for the timeseries
*
@@ -917,96 +837,6 @@ public class LocalSchemaProcessor {
throws MetadataException, IOException {
getBelongedSchemaRegion(fullPath).addTags(tagsMap, fullPath);
}
-
- /**
- * drop tags or attributes of the timeseries
- *
- * @param keySet tags key or attributes key
- * @param fullPath timeseries path
- */
- @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
- public void dropTagsOrAttributes(Set<String> keySet, PartialPath fullPath)
- throws MetadataException, IOException {
- getBelongedSchemaRegion(fullPath).dropTagsOrAttributes(keySet, fullPath);
- }
-
- /**
- * set/change the values of tags or attributes
- *
- * @param alterMap the new tags or attributes key-value
- * @param fullPath timeseries
- */
- @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
- public void setTagsOrAttributesValue(Map<String, String> alterMap, PartialPath fullPath)
- throws MetadataException, IOException {
- getBelongedSchemaRegion(fullPath).setTagsOrAttributesValue(alterMap, fullPath);
- }
-
- /**
- * rename the tag or attribute's key of the timeseries
- *
- * @param oldKey old key of tag or attribute
- * @param newKey new key of tag or attribute
- * @param fullPath timeseries
- */
- @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
- public void renameTagOrAttributeKey(String oldKey, String newKey, PartialPath fullPath)
- throws MetadataException, IOException {
- getBelongedSchemaRegion(fullPath).renameTagOrAttributeKey(oldKey, newKey, fullPath);
- }
- // endregion
-
- // region Interfaces only for Cluster module usage
-
- /**
- * For a path, infer all databases it may belong to. The path can have wildcards. Resolve the path
- * or path pattern into StorageGroupName-FullPath pairs that FullPath matches the given path.
- *
- * <p>Consider the path into two parts: (1) the sub path which can not contain a database name and
- * (2) the sub path which is substring that begin after the database name.
- *
- * <p>(1) Suppose the part of the path can not contain a database name (e.g.,
- * "root".contains("root.sg") == false), then: For each one level wildcard *, only one level will
- * be inferred and the wildcard will be removed. For each multi level wildcard **, then the
- * inference will go on until the databases are found and the wildcard will be kept. (2) Suppose
- * the part of the path is a substring that begin after the database name. (e.g., For
- * "root.*.sg1.a.*.b.*" and "root.x.sg1" is a database, then this part is "a.*.b.*"). For this
- * part, keep what it is.
- *
- * <p>Assuming we have three SGs: root.group1, root.group2, root.area1.group3 Eg1: for input
- * "root.**", returns ("root.group1", "root.group1.**"), ("root.group2", "root.group2.**")
- * ("root.area1.group3", "root.area1.group3.**") Eg2: for input "root.*.s1", returns
- * ("root.group1", "root.group1.s1"), ("root.group2", "root.group2.s1")
- *
- * <p>Eg3: for input "root.area1.**", returns ("root.area1.group3", "root.area1.group3.**")
- *
- * @param path can be a path pattern or a full path.
- * @return StorageGroupName-FullPath pairs
- * @apiNote :for cluster
- */
- public Map<String, List<PartialPath>> groupPathByStorageGroup(PartialPath path)
- throws MetadataException {
- return configManager.groupPathByStorageGroup(path);
- }
-
- /**
- * if the path is in local mtree, nothing needed to do (because mtree is in the memory); Otherwise
- * cache the path to mRemoteSchemaCache
- */
- public void cacheMeta(
- PartialPath path, IMeasurementMNode measurementMNode, boolean needSetFullPath) {
- // do nothing
- }
-
- /**
- * StorageGroupFilter filters unsatisfied databases in metadata queries to speed up and
- * deduplicate.
- */
- @FunctionalInterface
- public interface StorageGroupFilter {
-
- boolean satisfy(String storageGroup);
- }
// endregion
// region TestOnly Interfaces
@@ -1020,24 +850,5 @@ public class LocalSchemaProcessor {
public long getTotalSeriesNumber() {
return SchemaStatisticsManager.getInstance().getTotalSeriesNumber();
}
-
- /**
- * To reduce the String number in memory, use the deviceId from SchemaProcessor instead of the
- * deviceId read from disk
- *
- * @param devicePath read from disk
- * @return deviceId
- */
- @TestOnly
- public String getDeviceId(PartialPath devicePath) {
- String device = null;
- try {
- IMNode deviceNode = getDeviceNode(devicePath);
- device = deviceNode.getFullPath();
- } catch (MetadataException | NullPointerException e) {
- // Cannot get deviceId from SchemaProcessor, return the input deviceId
- }
- return device;
- }
// endregion
}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/InsertMeasurementMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/InsertMeasurementMNode.java
index f079350c68..285000cda2 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/InsertMeasurementMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/InsertMeasurementMNode.java
@@ -21,7 +21,6 @@ package org.apache.iotdb.db.metadata.idtable.entry;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
@@ -236,11 +235,6 @@ public class InsertMeasurementMNode implements IMeasurementMNode {
throw new UnsupportedOperationException("insert measurement mnode doesn't support this method");
}
- @Override
- public void serializeTo(MLogWriter logWriter) {
- throw new UnsupportedOperationException("insert measurement mnode doesn't support this method");
- }
-
@Override
public CacheEntry getCacheEntry() {
return null;
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtReader.java b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtReader.java
deleted file mode 100644
index aa881b2510..0000000000
--- a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtReader.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.iotdb.db.metadata.logfile;
-
-import org.apache.iotdb.commons.file.SystemFileFactory;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-/** reader for reading mlog.txt */
-public class MLogTxtReader implements AutoCloseable {
- private static final Logger logger = LoggerFactory.getLogger(MLogTxtReader.class);
-
- private BufferedReader bufferedReader;
- private File logFile;
- private String cmd;
-
- public MLogTxtReader(String schemaDir, String logFileName) throws IOException {
- File metadataDir = SystemFileFactory.INSTANCE.getFile(schemaDir);
- if (!metadataDir.exists()) {
- logger.error("no mlog.txt to init SchemaRegion.");
- throw new IOException("mlog.txt does not exist.");
- }
-
- logFile = SystemFileFactory.INSTANCE.getFile(schemaDir + File.separator + logFileName);
- bufferedReader = new BufferedReader(new FileReader(logFile));
- }
-
- public String next() {
- String ret = cmd;
- cmd = null;
- return ret;
- }
-
- public boolean hasNext() {
- if (cmd != null) {
- return true;
- }
- try {
- return (cmd = bufferedReader.readLine()) != null;
- } catch (IOException e) {
- logger.warn("Read mlog error.");
- cmd = null;
- return false;
- }
- }
-
- @Override
- public void close() {
- try {
- bufferedReader.close();
- } catch (IOException e) {
- logger.error("Failed to close mlog.txt");
- }
- }
-}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtWriter.java b/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtWriter.java
deleted file mode 100644
index 34f35b5efa..0000000000
--- a/server/src/main/java/org/apache/iotdb/db/metadata/logfile/MLogTxtWriter.java
+++ /dev/null
@@ -1,458 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.db.metadata.logfile;
-
-import org.apache.iotdb.commons.file.SystemFileFactory;
-import org.apache.iotdb.db.metadata.MetadataConstant;
-import org.apache.iotdb.db.qp.physical.sys.ActivateTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.AppendTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.CreateAlignedTimeSeriesPlan;
-import org.apache.iotdb.db.qp.physical.sys.CreateContinuousQueryPlan;
-import org.apache.iotdb.db.qp.physical.sys.CreateTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.CreateTimeSeriesPlan;
-import org.apache.iotdb.db.qp.physical.sys.DropContinuousQueryPlan;
-import org.apache.iotdb.db.qp.physical.sys.DropTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.MNodePlan;
-import org.apache.iotdb.db.qp.physical.sys.MeasurementMNodePlan;
-import org.apache.iotdb.db.qp.physical.sys.PruneTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.SetTemplatePlan;
-import org.apache.iotdb.db.qp.physical.sys.StorageGroupMNodePlan;
-import org.apache.iotdb.db.qp.physical.sys.UnsetTemplatePlan;
-import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
-import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
-import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.stream.Collectors;
-
-public class MLogTxtWriter implements AutoCloseable {
-
- private static final Logger logger = LoggerFactory.getLogger(MLogTxtWriter.class);
- private static final String STRING_TYPE = "%s,%s,%s" + System.lineSeparator();
- private static final String LINE_SEPARATOR = System.lineSeparator();
- private final File logFile;
- private FileOutputStream fileOutputStream;
- private FileChannel channel;
- private final AtomicInteger lineNumber;
-
- public MLogTxtWriter(String schemaDir, String logFileName) throws IOException {
- File metadataDir = SystemFileFactory.INSTANCE.getFile(schemaDir);
- if (!metadataDir.exists()) {
- if (metadataDir.mkdirs()) {
- logger.info("create schema folder {}.", metadataDir);
- } else {
- logger.info("create schema folder {} failed.", metadataDir);
- }
- }
-
- logFile = SystemFileFactory.INSTANCE.getFile(schemaDir + File.separator + logFileName);
- fileOutputStream = new FileOutputStream(logFile, true);
- channel = fileOutputStream.getChannel();
- lineNumber = new AtomicInteger(0);
- }
-
- public MLogTxtWriter(String logFileName) throws FileNotFoundException {
- logFile = SystemFileFactory.INSTANCE.getFile(logFileName);
- fileOutputStream = new FileOutputStream(logFile, true);
- channel = fileOutputStream.getChannel();
- lineNumber = new AtomicInteger(0);
- }
-
- @Override
- public void close() throws IOException {
- fileOutputStream.close();
- }
-
- public void createTimeseries(CreateTimeSeriesPlan plan, long offset) throws IOException {
- StringBuilder buf = new StringBuilder();
- buf.append(
- String.format(
- "%s,%s,%s,%s,%s",
- MetadataOperationType.CREATE_TIMESERIES,
- plan.getPath().getFullPath(),
- plan.getDataType().serialize(),
- plan.getEncoding().serialize(),
- plan.getCompressor().serialize()));
-
- buf.append(",");
- if (plan.getProps() != null) {
- boolean first = true;
- for (Map.Entry<String, String> entry : plan.getProps().entrySet()) {
- if (first) {
- buf.append(String.format("%s=%s", entry.getKey(), entry.getValue()));
- first = false;
- } else {
- buf.append(String.format("&%s=%s", entry.getKey(), entry.getValue()));
- }
- }
- }
-
- buf.append(",");
- if (plan.getAlias() != null) {
- buf.append(plan.getAlias());
- }
-
- buf.append(",");
- if (offset >= 0) {
- buf.append(offset);
- }
- buf.append(LINE_SEPARATOR);
- channel.write(ByteBuffer.wrap(buf.toString().getBytes()));
- lineNumber.incrementAndGet();
- }
-
- public void createAlignedTimeseries(CreateAlignedTimeSeriesPlan plan) throws IOException {
- StringBuilder buf = new StringBuilder();
- buf.append(
- String.format(
- "%s,%s,%s,%s,%s,%s",
- MetadataOperationType.CREATE_ALIGNED_TIMESERIES,
- plan.getDevicePath().getFullPath(),
- plan.getMeasurements(),
- plan.getDataTypes().stream().map(TSDataType::serialize).collect(Collectors.toList()),
- plan.getEncodings().stream().map(TSEncoding::serialize).collect(Collectors.toList()),
- plan.getCompressors().stream()
- .map(CompressionType::serialize)
- .collect(Collectors.toList())));
-
- buf.append(",[");
- if (plan.getAliasList() != null) {
- List<String> aliasList = plan.getAliasList();
- for (int i = 0; i < aliasList.size(); i++) {
- buf.append(aliasList.get(i));
- if (i != aliasList.size() - 1) {
- buf.append(",");
- }
- }
- }
- buf.append("]");
- buf.append(LINE_SEPARATOR);
- channel.write(ByteBuffer.wrap(buf.toString().getBytes()));
- lineNumber.incrementAndGet();
- }
-
- public void deleteTimeseries(String path) throws IOException {
- String outputStr = MetadataOperationType.DELETE_TIMESERIES + "," + path + LINE_SEPARATOR;
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- }
-
- public void createContinuousQuery(CreateContinuousQueryPlan plan) throws IOException {
- String buf =
- String.format(
- "%s,%s,%s,%s",
- MetadataOperationType.CREATE_CONTINUOUS_QUERY,
- plan.getContinuousQueryName(),
- plan.getQuerySql(),
- plan.getTargetPath().getFullPath())
- + LINE_SEPARATOR;
- channel.write(ByteBuffer.wrap(buf.getBytes()));
- lineNumber.incrementAndGet();
- }
-
- public void dropContinuousQuery(DropContinuousQueryPlan plan) throws IOException {
-
- String buf =
- String.format(
- "%s,%s", MetadataOperationType.DROP_CONTINUOUS_QUERY, plan.getContinuousQueryName())
- + LINE_SEPARATOR;
- channel.write(ByteBuffer.wrap(buf.getBytes()));
- lineNumber.incrementAndGet();
- }
-
- public void setStorageGroup(String storageGroup) throws IOException {
- String outputStr =
- MetadataOperationType.SET_STORAGE_GROUP + "," + storageGroup + LINE_SEPARATOR;
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void deleteStorageGroup(String storageGroup) throws IOException {
- String outputStr =
- MetadataOperationType.DELETE_STORAGE_GROUP + "," + storageGroup + LINE_SEPARATOR;
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void setTTL(String storageGroup, long ttl) throws IOException {
- String outputStr = String.format(STRING_TYPE, MetadataOperationType.SET_TTL, storageGroup, ttl);
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void changeOffset(String path, long offset) throws IOException {
- String outputStr =
- String.format(STRING_TYPE, MetadataOperationType.CHANGE_OFFSET, path, offset);
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void changeAlias(String path, String alias) throws IOException {
- String outputStr = String.format(STRING_TYPE, MetadataOperationType.CHANGE_ALIAS, path, alias);
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public static void upgradeMLog(String schemaDir, String logFileName) throws IOException {
- File logFile = SystemFileFactory.INSTANCE.getFile(schemaDir + File.separator + logFileName);
- File tmpLogFile = SystemFileFactory.INSTANCE.getFile(logFile.getAbsolutePath() + ".tmp");
-
- // if both old mlog and mlog.tmp do not exist, nothing to do
- if (!logFile.exists() && !tmpLogFile.exists()) {
- return;
- } else if (!logFile.exists() && tmpLogFile.exists()) {
- // if old mlog doesn't exsit but mlog.tmp exists, rename tmp file to mlog
- FSFactoryProducer.getFSFactory().moveFile(tmpLogFile, logFile);
- return;
- }
-
- // if both old mlog and mlog.tmp exist, delete mlog tmp, then do upgrading
- if (tmpLogFile.exists()) {
- try {
- Files.delete(Paths.get(tmpLogFile.toURI()));
- } catch (IOException e) {
- throw new IOException("Deleting " + tmpLogFile + "failed with exception " + e.getMessage());
- }
- }
- // upgrading
- try (BufferedReader reader = new BufferedReader(new FileReader(logFile));
- BufferedWriter writer = new BufferedWriter(new FileWriter(tmpLogFile, true))) {
- String line;
- while ((line = reader.readLine()) != null) {
- StringBuilder buf = new StringBuilder();
- buf.append(line);
- if (line.startsWith(MetadataOperationType.CREATE_TIMESERIES)) {
- buf.append(",,,");
- }
- writer.write(buf.toString());
- writer.newLine();
- writer.flush();
- }
- }
- }
-
- public void clear() throws IOException {
- channel.force(true);
- channel.close();
- fileOutputStream.close();
- Files.delete(logFile.toPath());
- fileOutputStream = new FileOutputStream(logFile, true);
- channel = fileOutputStream.getChannel();
- lineNumber.set(0);
- }
-
- public void serializeMNode(MNodePlan plan) throws IOException {
- StringBuilder s = new StringBuilder(String.valueOf(MetadataConstant.STORAGE_GROUP_MNODE_TYPE));
- s.append(",").append(plan.getName()).append(",");
- s.append(plan.getChildSize());
- s.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(s.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void serializeMeasurementMNode(MeasurementMNodePlan plan) throws IOException {
- StringBuilder s = new StringBuilder(String.valueOf(MetadataConstant.MEASUREMENT_MNODE_TYPE));
- s.append(",").append(plan.getName()).append(",");
- if (plan.getAlias() != null) {
- s.append(plan.getAlias());
- }
- IMeasurementSchema schema = plan.getSchema();
- s.append(",").append(schema.getType().ordinal()).append(",");
- s.append(schema.getEncodingType().ordinal()).append(",");
- s.append(schema.getCompressor().ordinal()).append(",");
- if (schema.getProps() != null) {
- for (Map.Entry<String, String> entry : schema.getProps().entrySet()) {
- s.append(entry.getKey()).append(":").append(entry.getValue()).append(";");
- }
- }
- s.append(",").append(plan.getOffset()).append(",");
- s.append(plan.getChildSize());
- s.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(s.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void serializeStorageGroupMNode(StorageGroupMNodePlan plan) throws IOException {
- StringBuilder s = new StringBuilder(String.valueOf(MetadataConstant.STORAGE_GROUP_MNODE_TYPE));
- s.append(",").append(plan.getName()).append(",");
- s.append(plan.getDataTTL()).append(",");
- s.append(plan.getChildSize());
- s.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(s.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void setTemplate(SetTemplatePlan plan) throws IOException {
- StringBuilder buf = new StringBuilder(String.valueOf(MetadataOperationType.SET_TEMPLATE));
- buf.append(",");
- buf.append(plan.getTemplateName());
- buf.append(",");
- buf.append(plan.getPrefixPath());
- buf.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void unsetTemplate(UnsetTemplatePlan plan) throws IOException {
- StringBuilder buf = new StringBuilder(String.valueOf(MetadataOperationType.UNSET_TEMPLATE));
- buf.append(",");
- buf.append(plan.getTemplateName());
- buf.append(",");
- buf.append(plan.getPrefixPath());
- buf.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void dropTemplate(DropTemplatePlan plan) throws IOException {
- StringBuilder buf = new StringBuilder(String.valueOf(MetadataOperationType.DROP_TEMPLATE));
- buf.append(",");
- buf.append(plan.getName());
- buf.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void setUsingTemplate(ActivateTemplatePlan plan) throws IOException {
- StringBuilder buf = new StringBuilder(String.valueOf(MetadataOperationType.SET_USING_TEMPLATE));
- buf.append(",");
- buf.append(plan.getPrefixPath());
- buf.append(LINE_SEPARATOR);
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- public void createSchemaTemplate(CreateTemplatePlan plan) throws IOException {
- // CreateTemplatePlan txt Log be like:
- // OperationType,templateName[,measurementPath,isAlign,dataType,encoding,compressor]
- StringBuilder buf = new StringBuilder();
- buf.append(MetadataOperationType.CREATE_TEMPLATE);
- buf.append(",");
- buf.append(plan.getName());
- for (int i = 0; i < plan.getMeasurements().size(); i++) {
- for (int j = 0; j < plan.getMeasurements().get(i).size(); j++) {
- String measurement;
- boolean isAligned = false;
- if (plan.getMeasurements().get(i).size() == 1) {
- measurement = plan.getMeasurements().get(i).get(0);
- } else {
- // for aligned timeseries
- isAligned = true;
- measurement = plan.getMeasurements().get(i).get(j);
- }
- buf.append(
- String.format(
- ",%s,%s,%s,%s,%s",
- measurement,
- isAligned ? 1 : 0,
- plan.getDataTypes().get(i).get(j).serialize(),
- plan.getEncodings().get(i).get(j).serialize(),
- plan.getCompressors().get(i).get(j).serialize()));
- }
- }
- buf.append(LINE_SEPARATOR);
- lineNumber.incrementAndGet();
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- }
-
- public void appendTemplate(AppendTemplatePlan plan) throws IOException {
- // AppendTemplatePlan txt Log be like:
- // OperationType,templateName,isAlign[,measurementPath,dataType,encoding,compressor]
- StringBuilder buf = new StringBuilder();
- buf.append(MetadataOperationType.APPEND_TEMPLATE);
- buf.append(plan.getName());
- buf.append(plan.isAligned());
- for (int i = 0; i < plan.getMeasurements().size(); i++) {
- buf.append(
- String.format(
- ",%s,%s,%s,%s",
- plan.getMeasurements().get(i),
- plan.getDataTypes().get(i).serialize(),
- plan.getEncodings().get(i).serialize(),
- plan.getCompressors().get(i).serialize()));
- }
- buf.append(LINE_SEPARATOR);
- lineNumber.incrementAndGet();
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- }
-
- public void pruneTemplate(PruneTemplatePlan plan) throws IOException {
- // PruneTemplatePlan txt Log be like:
- // OperationType,templateName[,measurementPath]
- StringBuilder buf = new StringBuilder();
- buf.append(MetadataOperationType.PRUNE_TEMPLATE);
- buf.append(plan.getName());
- for (int i = 0; i < plan.getPrunedMeasurements().size(); i++) {
- buf.append(plan.getPrunedMeasurements().get(i));
- }
- buf.append(LINE_SEPARATOR);
- lineNumber.incrementAndGet();
- ByteBuffer buff = ByteBuffer.wrap(buf.toString().getBytes());
- channel.write(buff);
- }
-
- public void autoCreateDeviceNode(String Device) throws IOException {
- String outputStr = MetadataOperationType.AUTO_CREATE_DEVICE + "," + Device + LINE_SEPARATOR;
- ByteBuffer buff = ByteBuffer.wrap(outputStr.getBytes());
- channel.write(buff);
- lineNumber.incrementAndGet();
- }
-
- int getLineNumber() {
- return lineNumber.get();
- }
-
- /** only used for initialize a mlog file writer. */
- void setLineNumber(int number) {
- lineNumber.set(number);
- }
-}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IMNode.java
index a4c4473b8d..a53cc4c6cb 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/IMNode.java
@@ -19,12 +19,10 @@
package org.apache.iotdb.db.metadata.mnode;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.container.IMNodeContainer;
import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
import org.apache.iotdb.db.metadata.mtree.store.disk.cache.CacheEntry;
-import java.io.IOException;
import java.io.Serializable;
/** This interface defines a MNode's operation interfaces. */
@@ -95,8 +93,6 @@ public interface IMNode extends Serializable {
IMeasurementMNode getAsMeasurementMNode();
- void serializeTo(MLogWriter logWriter) throws IOException;
-
CacheEntry getCacheEntry();
void setCacheEntry(CacheEntry cacheEntry);
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
index 3b34ef08ad..ab1b0cce21 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/InternalMNode.java
@@ -18,13 +18,9 @@
*/
package org.apache.iotdb.db.metadata.mnode;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.container.IMNodeContainer;
import org.apache.iotdb.db.metadata.mnode.container.MNodeContainers;
import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
-import org.apache.iotdb.db.qp.physical.sys.MNodePlan;
-
-import java.io.IOException;
import static org.apache.iotdb.db.metadata.MetadataConstant.NON_TEMPLATE;
@@ -246,28 +242,8 @@ public class InternalMNode extends MNode {
this.useTemplate = useTemplate;
}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- serializeChildren(logWriter);
-
- logWriter.serializeMNode(this);
- }
-
@Override
public <R, C> R accept(MNodeVisitor<R, C> visitor, C context) {
return visitor.visitInternalMNode(this, context);
}
-
- void serializeChildren(MLogWriter logWriter) throws IOException {
- if (children == null) {
- return;
- }
- for (IMNode child : children.values()) {
- child.serializeTo(logWriter);
- }
- }
-
- public static InternalMNode deserializeFrom(MNodePlan plan) {
- return new InternalMNode(null, plan.getName());
- }
}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
index eeab5fff39..9b223ba2fc 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
@@ -19,19 +19,15 @@
package org.apache.iotdb.db.metadata.mnode;
import org.apache.iotdb.commons.path.MeasurementPath;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.container.IMNodeContainer;
import org.apache.iotdb.db.metadata.mnode.container.MNodeContainers;
import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
-import org.apache.iotdb.db.qp.physical.sys.MeasurementMNodePlan;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.IOException;
-
public class MeasurementMNode extends MNode implements IMeasurementMNode {
private static final Logger logger = LoggerFactory.getLogger(MeasurementMNode.class);
@@ -128,25 +124,11 @@ public class MeasurementMNode extends MNode implements IMeasurementMNode {
this.preDeleted = preDeleted;
}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- logWriter.serializeMeasurementMNode(this);
- }
-
@Override
public <R, C> R accept(MNodeVisitor<R, C> visitor, C context) {
return visitor.visitMeasurementMNode(this, context);
}
- /** deserialize MeasurementMNode from MeasurementNodePlan */
- public static IMeasurementMNode deserializeFrom(MeasurementMNodePlan plan) {
- IMeasurementMNode node =
- MeasurementMNode.getMeasurementMNode(
- null, plan.getName(), plan.getSchema(), plan.getAlias());
- node.setOffset(plan.getOffset());
- return node;
- }
-
@Override
public String getFullPath() {
if (fullPath != null) {
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
index 384de8aa56..5f9d50cca8 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupEntityMNode.java
@@ -19,11 +19,8 @@
package org.apache.iotdb.db.metadata.mnode;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
-import java.io.IOException;
-
public class StorageGroupEntityMNode extends EntityMNode implements IStorageGroupMNode {
/**
* when the data file in a database is older than dataTTL, it is considered invalid and will be
@@ -86,13 +83,6 @@ public class StorageGroupEntityMNode extends EntityMNode implements IStorageGrou
return MNodeType.STORAGE_GROUP;
}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- serializeChildren(logWriter);
-
- logWriter.serializeStorageGroupMNode(this);
- }
-
@Override
public <R, C> R accept(MNodeVisitor<R, C> visitor, C context) {
return visitor.visitStorageGroupEntityMNode(this, context);
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
index d14171550c..7fb6e90d03 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/StorageGroupMNode.java
@@ -19,11 +19,7 @@
package org.apache.iotdb.db.metadata.mnode;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.db.metadata.logfile.MLogWriter;
import org.apache.iotdb.db.metadata.mnode.visitor.MNodeVisitor;
-import org.apache.iotdb.db.qp.physical.sys.StorageGroupMNodePlan;
-
-import java.io.IOException;
public class StorageGroupMNode extends InternalMNode implements IStorageGroupMNode {
@@ -99,21 +95,6 @@ public class StorageGroupMNode extends InternalMNode implements IStorageGroupMNo
return MNodeType.STORAGE_GROUP;
}
- @Override
- public void serializeTo(MLogWriter logWriter) throws IOException {
- serializeChildren(logWriter);
-
- logWriter.serializeStorageGroupMNode(this);
- }
-
- public static StorageGroupMNode deserializeFrom(StorageGroupMNodePlan plan) {
- return new StorageGroupMNode(null, plan.getName(), plan.getDataTTL());
- }
-
- public static StorageGroupMNode deserializeFrom(String[] nodeInfo) {
- return new StorageGroupMNode(null, nodeInfo[1], Long.parseLong(nodeInfo[2]));
- }
-
@Override
public <R, C> R accept(MNodeVisitor<R, C> visitor, C context) {
return visitor.visitStorageGroupMNode(this, context);
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
index d35e30541a..f90e30ceb1 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/ConfigMTree.java
@@ -29,7 +29,6 @@ import org.apache.iotdb.commons.utils.ThriftConfigNodeSerDeUtils;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.StorageGroupAlreadySetException;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.mnode.InternalMNode;
@@ -490,11 +489,7 @@ public class ConfigMTree {
* path pattern is used to match prefix path.
*/
public Pair<List<PartialPath>, Set<PartialPath>> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
MNodeAboveSGCollector<List<PartialPath>> collector =
new MNodeAboveSGCollector<List<PartialPath>>(root, pathPattern, store) {
@Override
@@ -505,7 +500,6 @@ public class ConfigMTree {
collector.setResultSet(new LinkedList<>());
collector.setTargetLevel(nodeLevel);
collector.setPrefixMatch(isPrefixMatch);
- collector.setStorageGroupFilter(filter);
collector.traverse();
return new Pair<>(collector.getResult(), collector.getInvolvedStorageGroupMNodes());
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/IMTreeBelowSG.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/IMTreeBelowSG.java
index 95e7fd58cf..9ce3cc0d13 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/IMTreeBelowSG.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/IMTreeBelowSG.java
@@ -22,7 +22,6 @@ import org.apache.iotdb.common.rpc.thrift.TSchemaNode;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
@@ -239,11 +238,7 @@ public interface IMTreeBelowSG {
/** Get all paths from root to the given level */
List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException;
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException;
/**
* Get the count of timeseries matching the given path.
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
index c4587739d6..6f56317f3b 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGCachedImpl.java
@@ -33,7 +33,6 @@ import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.template.TemplateImcompatibeException;
import org.apache.iotdb.db.exception.metadata.template.TemplateIsInUseException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor.StorageGroupFilter;
import org.apache.iotdb.db.metadata.MetadataConstant;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMNode;
@@ -961,8 +960,7 @@ public class MTreeBelowSGCachedImpl implements IMTreeBelowSG {
/** Get all paths from root to the given level */
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch, StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
MNodeCollector<List<PartialPath>> collector =
new MNodeCollector<List<PartialPath>>(storageGroupMNode, pathPattern, store) {
@Override
@@ -973,7 +971,6 @@ public class MTreeBelowSGCachedImpl implements IMTreeBelowSG {
collector.setResultSet(new LinkedList<>());
collector.setTargetLevel(nodeLevel);
collector.setPrefixMatch(isPrefixMatch);
- collector.setStorageGroupFilter(filter);
collector.traverse();
return collector.getResult();
}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
index 0664964d8d..69d7efa79d 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGMemoryImpl.java
@@ -33,7 +33,6 @@ import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.template.TemplateImcompatibeException;
import org.apache.iotdb.db.exception.metadata.template.TemplateIsInUseException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor.StorageGroupFilter;
import org.apache.iotdb.db.metadata.MetadataConstant;
import org.apache.iotdb.db.metadata.mnode.IEntityMNode;
import org.apache.iotdb.db.metadata.mnode.IMNode;
@@ -902,8 +901,7 @@ public class MTreeBelowSGMemoryImpl implements IMTreeBelowSG {
/** Get all paths from root to the given level */
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch, StorageGroupFilter filter)
- throws MetadataException {
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
MNodeCollector<List<PartialPath>> collector =
new MNodeCollector<List<PartialPath>>(storageGroupMNode, pathPattern, store) {
@Override
@@ -914,7 +912,6 @@ public class MTreeBelowSGMemoryImpl implements IMTreeBelowSG {
collector.setResultSet(new LinkedList<>());
collector.setTargetLevel(nodeLevel);
collector.setPrefixMatch(isPrefixMatch);
- collector.setStorageGroupFilter(filter);
collector.traverse();
return collector.getResult();
}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
index aa70be9b3e..4b7ae272e5 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/MNodeCollector.java
@@ -20,7 +20,6 @@ package org.apache.iotdb.db.metadata.mtree.traverser.collector;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor.StorageGroupFilter;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mtree.store.IMTreeStore;
@@ -37,9 +36,6 @@ import java.util.Set;
*/
public abstract class MNodeCollector<T> extends CollectorTraverser<T> {
- // traverse for specific database
- protected StorageGroupFilter storageGroupFilter = null;
-
// level query option
protected int targetLevel = -1;
@@ -50,16 +46,6 @@ public abstract class MNodeCollector<T> extends CollectorTraverser<T> {
super(startNode, path, store);
}
- @Override
- protected void traverse(IMNode node, int idx, int level) throws MetadataException {
- if (storageGroupFilter != null
- && node.isStorageGroup()
- && !storageGroupFilter.satisfy(node.getFullPath())) {
- return;
- }
- super.traverse(node, idx, level);
- }
-
@Override
protected boolean processInternalMatchedMNode(IMNode node, int idx, int level) {
return false;
@@ -95,10 +81,6 @@ public abstract class MNodeCollector<T> extends CollectorTraverser<T> {
protected abstract void transferToResult(IMNode node);
- public void setStorageGroupFilter(StorageGroupFilter storageGroupFilter) {
- this.storageGroupFilter = storageGroupFilter;
- }
-
public void setTargetLevel(int targetLevel) {
this.targetLevel = targetLevel;
}
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
index ed6bea2417..fe70ec7238 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/ISchemaRegion.java
@@ -25,11 +25,9 @@ import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IActivateTemplateInClusterPlan;
-import org.apache.iotdb.db.metadata.plan.schemaregion.write.IAutoCreateDeviceMNodePlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateAlignedTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.ICreateTimeSeriesPlan;
import org.apache.iotdb.db.metadata.plan.schemaregion.write.IDeactivateTemplatePlan;
@@ -64,7 +62,6 @@ import java.util.function.Function;
* <li>Interfaces for initialization、recover and clear
* <li>Interfaces for schema region Info query and operation
* <li>Interfaces for Timeseries operation
- * <li>Interfaces for auto create device
* <li>Interfaces for metadata info Query
* <ol>
* <li>Interfaces for metadata count
@@ -149,11 +146,6 @@ public interface ISchemaRegion {
void deleteTimeseriesInBlackList(PathPatternTree patternTree) throws MetadataException;
// endregion
- // region Interfaces for auto create device
- // auto create a deviceMNode, currently only used for schema sync operation
- void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException;
- // endregion
-
// region Interfaces for metadata info Query
/**
* Check whether the path exists.
@@ -198,28 +190,12 @@ public interface ISchemaRegion {
* counted.
*/
int getDevicesNum(PartialPath pathPattern, boolean isPrefixMatch) throws MetadataException;
-
- /**
- * To calculate the count of nodes in the given level for given path pattern. If using prefix
- * match, the path pattern is used to match prefix path. All nodes start with the matched prefix
- * path will be counted.
- *
- * @param pathPattern a path pattern or a full path
- * @param level the level should match the level of the path
- * @param isPrefixMatch if true, the path pattern is used to match prefix path
- */
- int getNodesCountInGivenLevel(PartialPath pathPattern, int level, boolean isPrefixMatch)
- throws MetadataException;
// endregion
// region Interfaces for level Node info Query
// Get paths of nodes in given level and matching the pathPattern.
List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException;
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException;
/**
* Get child node path in the next level of the given path pattern.
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
index 66a9a0b55e..c1ab99392a 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionMemoryImpl.java
@@ -35,7 +35,6 @@ import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
import org.apache.iotdb.db.exception.metadata.SeriesNumberOverflowException;
import org.apache.iotdb.db.exception.metadata.SeriesOverflowException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.MetadataConstant;
import org.apache.iotdb.db.metadata.idtable.IDTable;
import org.apache.iotdb.db.metadata.idtable.IDTableManager;
@@ -929,8 +928,7 @@ public class SchemaRegionMemoryImpl implements ISchemaRegion {
return node;
}
- @Override
- public void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {
+ private void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {
mtree.getDeviceNodeWithAutoCreating(plan.getPath());
try {
writeToMLog(plan);
@@ -1003,21 +1001,6 @@ public class SchemaRegionMemoryImpl implements ISchemaRegion {
return getDevicesNum(pathPattern, false);
}
- /**
- * To calculate the count of nodes in the given level for given path pattern. If using prefix
- * match, the path pattern is used to match prefix path. All nodes start with the matched prefix
- * path will be counted.
- *
- * @param pathPattern a path pattern or a full path
- * @param level the level should match the level of the path
- * @param isPrefixMatch if true, the path pattern is used to match prefix path
- */
- @Override
- public int getNodesCountInGivenLevel(PartialPath pathPattern, int level, boolean isPrefixMatch)
- throws MetadataException {
- return mtree.getNodesCountInGivenLevel(pathPattern, level, isPrefixMatch);
- }
-
@Override
public Map<PartialPath, Integer> getMeasurementCountGroupByLevel(
PartialPath pathPattern, int level, boolean isPrefixMatch) throws MetadataException {
@@ -1046,12 +1029,8 @@ public class SchemaRegionMemoryImpl implements ISchemaRegion {
// region Interfaces for level Node info Query
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
- return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, filter);
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
+ return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch);
}
/**
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
index e587ae43cb..7065bcae23 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/schemaregion/SchemaRegionSchemaFileImpl.java
@@ -34,7 +34,6 @@ import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.SchemaDirCreationFailureException;
import org.apache.iotdb.db.exception.metadata.SeriesNumberOverflowException;
import org.apache.iotdb.db.exception.metadata.SeriesOverflowException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.MetadataConstant;
import org.apache.iotdb.db.metadata.idtable.IDTable;
import org.apache.iotdb.db.metadata.idtable.IDTableManager;
@@ -1021,8 +1020,7 @@ public class SchemaRegionSchemaFileImpl implements ISchemaRegion {
return node;
}
- @Override
- public void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {
+ private void autoCreateDeviceMNode(IAutoCreateDeviceMNodePlan plan) throws MetadataException {
IMNode node = mtree.getDeviceNodeWithAutoCreating(plan.getPath());
mtree.unPinMNode(node);
try {
@@ -1096,21 +1094,6 @@ public class SchemaRegionSchemaFileImpl implements ISchemaRegion {
return getDevicesNum(pathPattern, false);
}
- /**
- * To calculate the count of nodes in the given level for given path pattern. If using prefix
- * match, the path pattern is used to match prefix path. All nodes start with the matched prefix
- * path will be counted.
- *
- * @param pathPattern a path pattern or a full path
- * @param level the level should match the level of the path
- * @param isPrefixMatch if true, the path pattern is used to match prefix path
- */
- @Override
- public int getNodesCountInGivenLevel(PartialPath pathPattern, int level, boolean isPrefixMatch)
- throws MetadataException {
- return mtree.getNodesCountInGivenLevel(pathPattern, level, isPrefixMatch);
- }
-
@Override
public Map<PartialPath, Integer> getMeasurementCountGroupByLevel(
PartialPath pathPattern, int level, boolean isPrefixMatch) throws MetadataException {
@@ -1139,12 +1122,8 @@ public class SchemaRegionSchemaFileImpl implements ISchemaRegion {
// region Interfaces for level Node info Query
@Override
public List<PartialPath> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
- return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, filter);
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
+ return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch);
}
/**
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
index 00dc25706f..adee9183cd 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/IStorageGroupSchemaManager.java
@@ -22,7 +22,6 @@ import org.apache.iotdb.common.rpc.thrift.TSchemaNode;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.tsfile.utils.Pair;
@@ -169,11 +168,7 @@ public interface IStorageGroupSchemaManager {
* @param isPrefixMatch if true, the path pattern is used to match prefix path
*/
Pair<List<PartialPath>, Set<PartialPath>> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException;
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException;
/**
* Get child node path in the next level of the given path pattern. This method only count in
diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
index 6dd78225fb..ffcbfcfc8a 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/storagegroup/StorageGroupSchemaManager.java
@@ -26,7 +26,6 @@ import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.metadata.StorageGroupAlreadySetException;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.metadata.mtree.ConfigMTree;
import org.apache.iotdb.db.qp.physical.PhysicalPlan;
@@ -261,12 +260,8 @@ public class StorageGroupSchemaManager implements IStorageGroupSchemaManager {
@Override
public Pair<List<PartialPath>, Set<PartialPath>> getNodesListInGivenLevel(
- PartialPath pathPattern,
- int nodeLevel,
- boolean isPrefixMatch,
- LocalSchemaProcessor.StorageGroupFilter filter)
- throws MetadataException {
- return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch, filter);
+ PartialPath pathPattern, int nodeLevel, boolean isPrefixMatch) throws MetadataException {
+ return mtree.getNodesListInGivenLevel(pathPattern, nodeLevel, isPrefixMatch);
}
@Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsSchemaScanOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsSchemaScanOperator.java
index 6d1eea794e..23f3f5fe2b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsSchemaScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/NodePathsSchemaScanOperator.java
@@ -95,8 +95,7 @@ public class NodePathsSchemaScanOperator implements SourceOperator {
Set<String> childNodes;
childNodes =
((SchemaDriverContext) operatorContext.getInstanceContext().getDriverContext())
- .getSchemaRegion().getNodesListInGivenLevel(partialPath, level, false, null)
- .stream()
+ .getSchemaRegion().getNodesListInGivenLevel(partialPath, level, false).stream()
.map(PartialPath::getFullPath)
.collect(Collectors.toSet());
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
index e300a272dd..07ff4497c2 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/StandalonePartitionFetcher.java
@@ -109,7 +109,7 @@ public class StandalonePartitionFetcher implements IPartitionFetcher {
} else {
for (PartialPath pathPattern : patternTree.getAllPathPatterns()) {
Pair<List<PartialPath>, Set<PartialPath>> result =
- localConfigNode.getNodesListInGivenLevel(pathPattern, level, false, null);
+ localConfigNode.getNodesListInGivenLevel(pathPattern, level, false);
matchedNodes.addAll(
result.left.stream()
.map(
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 3c002f3eef..20ac93109b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -374,11 +374,6 @@ public class PlanExecutor implements IPlanExecutor {
return IoTDB.schemaProcessor.getMeasurementPaths(path);
}
- protected List<PartialPath> getNodesList(PartialPath schemaPattern, int level)
- throws MetadataException {
- return IoTDB.schemaProcessor.getNodesListInGivenLevel(schemaPattern, level);
- }
-
private Map<PartialPath, Integer> getTimeseriesCountGroupByLevel(CountPlan countPlan)
throws MetadataException {
return IoTDB.schemaProcessor.getMeasurementCountGroupByLevel(
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
index 3a524b0fe1..bc1a81a8a1 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
@@ -320,7 +320,7 @@ public class TSServiceImpl implements IClientRPCServiceWithHandler {
try {
switch (req.getType()) {
case "METADATA_IN_JSON":
- resp.setMetadataInJson(IoTDB.schemaProcessor.getMetadataInString());
+ resp.setMetadataInJson("{}");
status = RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS);
break;
case "COLUMN":
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
index 4954639fb4..f6c322f3e4 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/SchemaUtils.java
@@ -18,15 +18,12 @@
*/
package org.apache.iotdb.db.utils;
-import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
-import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
-import org.apache.iotdb.db.metadata.mnode.MeasurementMNode;
import org.apache.iotdb.db.mpp.plan.statement.component.Ordering;
import org.apache.iotdb.db.qp.constant.SQLConstant;
import org.apache.iotdb.db.query.aggregation.AggregationType;
@@ -34,8 +31,6 @@ import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
-import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
-import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
import org.apache.iotdb.tsfile.write.schema.TimeseriesSchema;
import org.slf4j.Logger;
@@ -113,25 +108,6 @@ public class SchemaUtils {
}
}
- public static void cacheTimeseriesSchema(TimeseriesSchema schema) {
- PartialPath path;
- try {
- path = new PartialPath(schema.getFullPath());
- } catch (IllegalPathException e) {
- logger.error("Cannot cache an illegal path {}", schema.getFullPath());
- return;
- }
- TSDataType dataType = schema.getType();
- TSEncoding encoding = schema.getEncodingType();
- CompressionType compressionType = schema.getCompressor();
- IMeasurementSchema measurementSchema =
- new MeasurementSchema(path.getMeasurement(), dataType, encoding, compressionType);
-
- IMeasurementMNode measurementMNode =
- MeasurementMNode.getMeasurementMNode(null, path.getMeasurement(), measurementSchema, null);
- IoTDB.schemaProcessor.cacheMeta(path, measurementMNode, true);
- }
-
public static List<TSDataType> getSeriesTypesByPaths(Collection<? extends PartialPath> paths) {
List<TSDataType> dataTypes = new ArrayList<>();
for (PartialPath path : paths) {
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
index 27755c8c3c..b1ef35b409 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/SchemaBasicTest.java
@@ -1292,48 +1292,4 @@ public abstract class SchemaBasicTest {
resultTag = results.get(0).getTag();
assertEquals("newValue", resultTag.get("description"));
}
-
- @Test
- public void testCountNodesWithLevel() throws Exception {
- LocalSchemaProcessor schemaProcessor = IoTDB.schemaProcessor;
- schemaProcessor.createTimeseries(
- new PartialPath("root.sgcc.wf03.wt01.temperature"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
- schemaProcessor.createTimeseries(
- new PartialPath("root.sgcc.wf03.t01.status"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
- schemaProcessor.createTimeseries(
- new PartialPath("root.ln.wf01.wt01.temperature"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
- schemaProcessor.createTimeseries(
- new PartialPath("root.ln.wf01.wt01.status"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
- schemaProcessor.createTimeseries(
- new PartialPath("root.ln.wf02.wt02.status"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
- schemaProcessor.createTimeseries(
- new PartialPath("root.ln.wf02.wt02.hardware"),
- TSDataType.valueOf("INT32"),
- TSEncoding.valueOf("RLE"),
- compressionType,
- Collections.emptyMap());
-
- Assert.assertEquals(
- 2, schemaProcessor.getNodesCountInGivenLevel(new PartialPath("root.**.temperature"), 3));
- }
}
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
index 913309ba3f..3da6457b63 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/ConfigMTreeTest.java
@@ -22,7 +22,6 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.confignode.rpc.thrift.TStorageGroupSchema;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.IStorageGroupMNode;
import org.apache.iotdb.db.utils.EnvironmentUtils;
@@ -270,33 +269,23 @@ public class ConfigMTreeTest {
root.setStorageGroup(new PartialPath("root.sg1"));
root.setStorageGroup(new PartialPath("root.sg2"));
- LocalSchemaProcessor.StorageGroupFilter filter =
- storageGroup -> storageGroup.equals("root.sg1");
Pair<List<PartialPath>, Set<PartialPath>> result =
- root.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, null);
+ root.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false);
Assert.assertEquals(0, result.left.size());
Assert.assertEquals(2, result.right.size());
- result = root.getNodesListInGivenLevel(new PartialPath("root.**"), 1, false, null);
+ result = root.getNodesListInGivenLevel(new PartialPath("root.**"), 1, false);
Assert.assertEquals(2, result.left.size());
Assert.assertEquals(2, result.right.size());
- result = root.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false, null);
+ result = root.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false);
Assert.assertEquals(0, result.left.size());
Assert.assertEquals(2, result.right.size());
- result = root.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false, null);
+ result = root.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false);
Assert.assertEquals(0, result.left.size());
Assert.assertEquals(2, result.right.size());
-
- result = root.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, filter);
- Assert.assertEquals(0, result.left.size());
- Assert.assertEquals(1, result.right.size());
-
- result = root.getNodesListInGivenLevel(new PartialPath("root.*.**"), 2, false, filter);
- Assert.assertEquals(0, result.left.size());
- Assert.assertEquals(1, result.right.size());
}
@Test
diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
index e47f39f59d..bb086c8bf4 100644
--- a/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/metadata/mtree/MTreeBelowSGTest.java
@@ -24,7 +24,6 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.metadata.AliasAlreadyExistException;
import org.apache.iotdb.db.exception.metadata.PathAlreadyExistException;
-import org.apache.iotdb.db.metadata.LocalSchemaProcessor;
import org.apache.iotdb.db.metadata.mnode.IMNode;
import org.apache.iotdb.db.metadata.mnode.MeasurementMNode;
import org.apache.iotdb.db.metadata.schemaregion.SchemaEngineMode;
@@ -644,7 +643,6 @@ public abstract class MTreeBelowSGTest {
@Test
public void testGetNodeListInLevel() throws MetadataException {
- LocalSchemaProcessor.StorageGroupFilter filter = sg -> sg.equals("root.sg1");
storageGroup = getStorageGroup(new PartialPath("root.sg1"));
storageGroup.createTimeseries(
@@ -663,29 +661,14 @@ public abstract class MTreeBelowSGTest {
null);
Assert.assertEquals(
- 2,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, null).size());
+ 2, storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false).size());
Assert.assertEquals(
- 1,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false, null).size());
- Assert.assertEquals(
- 1,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false, null).size());
- Assert.assertEquals(
- 1,
- storageGroup
- .getNodesListInGivenLevel(new PartialPath("root.*.*.s1"), 2, false, null)
- .size());
-
+ 1, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false).size());
Assert.assertEquals(
- 2,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, filter).size());
+ 1, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false).size());
Assert.assertEquals(
- 1,
- storageGroup
- .getNodesListInGivenLevel(new PartialPath("root.*.**"), 2, false, filter)
- .size());
+ 1, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*.s1"), 2, false).size());
storageGroup = getStorageGroup(new PartialPath("root.sg2"));
storageGroup.createTimeseries(
@@ -704,29 +687,14 @@ public abstract class MTreeBelowSGTest {
null);
Assert.assertEquals(
- 2,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, null).size());
+ 2, storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false).size());
Assert.assertEquals(
- 2,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false, null).size());
+ 2, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 2, false).size());
Assert.assertEquals(
- 1,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false, null).size());
+ 1, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*"), 1, false).size());
Assert.assertEquals(
- 2,
- storageGroup
- .getNodesListInGivenLevel(new PartialPath("root.*.*.s1"), 2, false, null)
- .size());
-
- Assert.assertEquals(
- 0,
- storageGroup.getNodesListInGivenLevel(new PartialPath("root.**"), 3, false, filter).size());
- Assert.assertEquals(
- 0,
- storageGroup
- .getNodesListInGivenLevel(new PartialPath("root.*.**"), 2, false, filter)
- .size());
+ 2, storageGroup.getNodesListInGivenLevel(new PartialPath("root.*.*.s1"), 2, false).size());
}
@Test