This is an automated email from the ASF dual-hosted git repository. jt2594838 pushed a commit to branch delete_with_attribute in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit a8f4c5a6bfb6e6823b74c1c4f7abdbe461ffe9ac Author: Tian Jiang <[email protected]> AuthorDate: Mon Jun 29 16:01:42 2026 +0800 rename class --- .../impl/DataNodeInternalRPCServiceImpl.java | 4 +- .../db/queryengine/plan/analyze/AnalyzeUtils.java | 31 ++++----- .../iotdb/db/storageengine/StorageEngine.java | 20 +++--- .../db/storageengine/dataregion/DataRegion.java | 8 +-- .../compaction/execute/utils/CompactionUtils.java | 2 +- .../dataregion/modification/DeletionPredicate.java | 46 ++++++------- .../modification/TableDeletionEntry.java | 6 +- .../{IDPredicate.java => TagPredicate.java} | 76 +++++++++++----------- .../file/UnsealedTsFileRecoverPerformer.java | 2 +- .../iotdb/db/metadata/path/PatternTreeMapTest.java | 2 +- .../db/pipe/consensus/DeletionRecoverTest.java | 2 +- .../db/pipe/consensus/DeletionResourceTest.java | 2 +- .../PipePlanTablePatternParseVisitorTest.java | 8 +-- .../node/write/RelationalDeleteDataNodeTest.java | 8 +-- .../iotdb/db/storageengine/StorageEngineTest.java | 68 +++---------------- .../storageengine/dataregion/DataRegionTest.java | 2 +- .../tablemodel/CompactionWithAllNullRowsTest.java | 12 ++-- .../modification/ModificationFileTest.java | 6 +- .../modification/TableDeletionEntryTest.java | 10 +-- 19 files changed, 134 insertions(+), 181 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java index c588c94c7b5..42e69fd3ec7 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java @@ -212,8 +212,8 @@ import org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.Compacti import org.apache.iotdb.db.storageengine.dataregion.compaction.settle.SettleRequestHandler; import org.apache.iotdb.db.storageengine.dataregion.flush.CompressionRatio; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileManager; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource; import org.apache.iotdb.db.storageengine.rescon.quotas.DataNodeSpaceQuotaManager; @@ -2148,7 +2148,7 @@ public class DataNodeInternalRPCServiceImpl implements IDataNodeRPCService.Iface new TableDeletionEntry( new DeletionPredicate( req.getTableName(), - new IDPredicate.NOP(), + new TagPredicate.NOP(), Collections.singletonList(req.getColumnName())), new TimeRange(Long.MIN_VALUE, Long.MAX_VALUE)), // the request is only sent to associated region diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java index 6d619914c09..3b5b664def6 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java @@ -55,10 +55,10 @@ import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertTabletStatement import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache; import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.And; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.SegmentExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.And; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.SegmentExactMatch; import org.apache.iotdb.rpc.RpcUtils; import org.apache.iotdb.rpc.TSStatusCode; @@ -457,7 +457,7 @@ public class AnalyzeUtils { Queue<Expression> expressionQueue = new LinkedList<>(); expressionQueue.add(expression); DeletionPredicate predicate = new DeletionPredicate(table.getTableName()); - IDPredicate tagPredicate = null; + TagPredicate tagPredicate = null; TimeRange timeRange = new TimeRange(Long.MIN_VALUE, Long.MAX_VALUE, true); while (!expressionQueue.isEmpty()) { Expression currExp = expressionQueue.remove(); @@ -474,7 +474,7 @@ public class AnalyzeUtils { } } if (tagPredicate != null) { - predicate.setIdPredicate(tagPredicate); + predicate.setTagPredicate(tagPredicate); } if (timeRange.getStartTime() > timeRange.getEndTime()) { throw new SemanticException( @@ -494,8 +494,8 @@ public class AnalyzeUtils { expressionQueue.addAll(expression.getTerms()); } - private static IDPredicate parseIsNull( - IsNullPredicate isNullPredicate, IDPredicate oldPredicate, TsTable table) { + private static TagPredicate parseIsNull( + IsNullPredicate isNullPredicate, TagPredicate oldPredicate, TsTable table) { Expression leftHandExp = isNullPredicate.getValue(); if (!(leftHandExp instanceof Identifier)) { throw new SemanticException( @@ -509,25 +509,26 @@ public class AnalyzeUtils { } // the first segment is the table name, so + 1 - IDPredicate newPredicate = new SegmentExactMatch(null, tagColumnOrdinal + 1); + TagPredicate newPredicate = new SegmentExactMatch(null, tagColumnOrdinal + 1); return combinePredicates(oldPredicate, newPredicate); } - private static IDPredicate combinePredicates(IDPredicate oldPredicate, IDPredicate newPredicate) { + private static TagPredicate combinePredicates( + TagPredicate oldPredicate, TagPredicate newPredicate) { if (oldPredicate == null) { return newPredicate; } - if (oldPredicate instanceof IDPredicate.And) { + if (oldPredicate instanceof TagPredicate.And) { ((And) oldPredicate).add(newPredicate); return oldPredicate; } - return new IDPredicate.And(oldPredicate, newPredicate); + return new TagPredicate.And(oldPredicate, newPredicate); } - private static IDPredicate parseComparison( + private static TagPredicate parseComparison( ComparisonExpression comparisonExpression, TimeRange timeRange, - IDPredicate oldPredicate, + TagPredicate oldPredicate, TsTable table) { Expression left = comparisonExpression.getLeft(); Expression right = comparisonExpression.getRight(); @@ -580,7 +581,7 @@ public class AnalyzeUtils { "The column '" + columnName + "' does not exist or is not a tag column"); } - IDPredicate newPredicate = getTagPredicate(comparisonExpression, right, tagColumnOrdinal); + TagPredicate newPredicate = getTagPredicate(comparisonExpression, right, tagColumnOrdinal); return combinePredicates(oldPredicate, newPredicate); } @@ -595,7 +596,7 @@ public class AnalyzeUtils { return timeColumnSchema.getColumnName(); } - private static IDPredicate getTagPredicate( + private static TagPredicate getTagPredicate( ComparisonExpression comparisonExpression, Expression right, int tagColumnOrdinal) { if (comparisonExpression.getOperator() != ComparisonExpression.Operator.EQUAL) { throw new SemanticException( diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java index 389297ac401..44d5397c7bb 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/StorageEngine.java @@ -259,14 +259,7 @@ public class StorageEngine implements IService { try { dataRegion = buildNewDataRegion(sgName, dataRegionId); } catch (DataRegionException e) { - LOGGER.error( - "Failed to recover data region {}[{}]", sgName, dataRegionId.getId(), e); - WALRecoverManager.getInstance() - .getAllDataRegionScannedLatch() - .countDownWithException(e.getMessage()); - if (e instanceof DirectBufferMemoryAllocationException) { - throw e; - } + handleDataRegionRecoverFailure(sgName, dataRegionId, e); return null; } dataRegionMap.put(dataRegionId, dataRegion); @@ -281,6 +274,17 @@ public class StorageEngine implements IService { } } + void handleDataRegionRecoverFailure( + String sgName, DataRegionId dataRegionId, DataRegionException e) throws DataRegionException { + LOGGER.error("Failed to recover data region {}[{}]", sgName, dataRegionId.getId(), e); + WALRecoverManager.getInstance() + .getAllDataRegionScannedLatch() + .countDownWithException(e.getMessage()); + if (e instanceof DirectBufferMemoryAllocationException) { + throw e; + } + } + /** get StorageGroup -> DataRegionIdList map from data/system directory. */ public Map<String, List<DataRegionId>> getLocalDataRegionInfo() { File system = SystemFileFactory.INSTANCE.getFile(systemDir); diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java index f98ba5ad577..e41dea4f774 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java @@ -120,10 +120,10 @@ import org.apache.iotdb.db.storageengine.dataregion.flush.TsFileFlushPolicy; import org.apache.iotdb.db.storageengine.dataregion.memtable.IMemTable; import org.apache.iotdb.db.storageengine.dataregion.memtable.TsFileProcessor; import org.apache.iotdb.db.storageengine.dataregion.memtable.TsFileProcessorInfo; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate; import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry; import org.apache.iotdb.db.storageengine.dataregion.modification.ModificationFile; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate; import org.apache.iotdb.db.storageengine.dataregion.modification.TreeDeletionEntry; import org.apache.iotdb.db.storageengine.dataregion.modification.v1.ModificationFileV1; import org.apache.iotdb.db.storageengine.dataregion.read.IQueryDataSource; @@ -3487,12 +3487,12 @@ public class DataRegion implements IDataRegionForQuery { List<TsFileResource> deletedByMods = new ArrayList<>(); List<TsFileResource> deletedByFiles = new ArrayList<>(); boolean isDropMeasurementExist = false; - IDPredicate.IDPredicateType idPredicateType = null; + TagPredicate.TagPredicateType tagPredicateType = null; if (deletion instanceof TableDeletionEntry) { TableDeletionEntry tableDeletionEntry = (TableDeletionEntry) deletion; isDropMeasurementExist = !tableDeletionEntry.getPredicate().getMeasurementNames().isEmpty(); - idPredicateType = tableDeletionEntry.getPredicate().getIdPredicateType(); + tagPredicateType = tableDeletionEntry.getPredicate().getTagPredicateType(); } for (TsFileResource sealedTsFile : sealedTsFiles) { @@ -3565,7 +3565,7 @@ public class DataRegion implements IDataRegionForQuery { fileEndTime); } if (isFileFullyMatchedByTime(deletion, fileStartTime, fileEndTime) - && idPredicateType.equals(IDPredicate.IDPredicateType.NOP) + && tagPredicateType.equals(TagPredicate.TagPredicateType.NOP) && !isDropMeasurementExist) { ++matchSize; } else { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionUtils.java index 7bdd492fa74..72ac3f544c8 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionUtils.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionUtils.java @@ -39,11 +39,11 @@ import org.apache.iotdb.db.service.metrics.FileMetrics; import org.apache.iotdb.db.storageengine.dataregion.compaction.constant.CompactionTaskType; import org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskManager; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry; import org.apache.iotdb.db.storageengine.dataregion.modification.ModFileManagement; import org.apache.iotdb.db.storageengine.dataregion.modification.ModificationFile; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.TreeDeletionEntry; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource; import org.apache.iotdb.db.storageengine.dataregion.tsfile.timeindex.ArrayDeviceTimeIndex; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/DeletionPredicate.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/DeletionPredicate.java index fcccaecc60f..b8722f6b414 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/DeletionPredicate.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/DeletionPredicate.java @@ -18,7 +18,7 @@ */ package org.apache.iotdb.db.storageengine.dataregion.modification; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; import org.apache.iotdb.db.utils.io.BufferSerializable; import org.apache.iotdb.db.utils.io.StreamSerializable; @@ -42,7 +42,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(DeletionPredicate.class); private String tableName; - private IDPredicate idPredicate = new NOP(); + private TagPredicate tagPredicate = new NOP(); // an empty list means affecting all columns private List<String> measurementNames = Collections.emptyList(); @@ -52,32 +52,32 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable this.tableName = tableName; } - public DeletionPredicate(String tableName, IDPredicate idPredicate) { + public DeletionPredicate(String tableName, TagPredicate tagPredicate) { this.tableName = tableName; - this.idPredicate = idPredicate; + this.tagPredicate = tagPredicate; } public DeletionPredicate( - String tableName, IDPredicate idPredicate, List<String> measurementNames) { + String tableName, TagPredicate tagPredicate, List<String> measurementNames) { this.tableName = tableName; - this.idPredicate = idPredicate; + this.tagPredicate = tagPredicate; this.measurementNames = measurementNames; } public boolean matches(IDeviceID deviceID) { - return tableName.equals(deviceID.getTableName()) && idPredicate.matches(deviceID); + return tableName.equals(deviceID.getTableName()) && tagPredicate.matches(deviceID); } - public void setIdPredicate(IDPredicate idPredicate) { - this.idPredicate = idPredicate; + public void setTagPredicate(TagPredicate tagPredicate) { + this.tagPredicate = tagPredicate; } - public IDPredicate getIdPredicate() { - return idPredicate; + public TagPredicate getTagPredicate() { + return tagPredicate; } - public IDPredicate.IDPredicateType getIdPredicateType() { - return this.idPredicate.type; + public TagPredicate.TagPredicateType getTagPredicateType() { + return this.tagPredicate.type; } public String getTableName() { @@ -95,7 +95,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable @Override public long serialize(OutputStream stream) throws IOException { long size = ReadWriteIOUtils.writeVar(tableName, stream); - size += idPredicate.serialize(stream); + size += tagPredicate.serialize(stream); size += ReadWriteForEncodingUtils.writeVarInt(measurementNames.size(), stream); for (String measurementName : measurementNames) { size += ReadWriteIOUtils.writeVar(measurementName, stream); @@ -106,7 +106,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable @Override public long serialize(ByteBuffer buffer) { long size = ReadWriteIOUtils.writeVar(tableName, buffer); - size += idPredicate.serialize(buffer); + size += tagPredicate.serialize(buffer); size += ReadWriteForEncodingUtils.writeVarInt(measurementNames.size(), buffer); for (String measurementName : measurementNames) { size += ReadWriteIOUtils.writeVar(measurementName, buffer); @@ -117,7 +117,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable @Override public void deserialize(InputStream stream) throws IOException { tableName = ReadWriteIOUtils.readVarIntString(stream); - idPredicate = IDPredicate.createFrom(stream); + tagPredicate = TagPredicate.createFrom(stream); int measurementLength = ReadWriteForEncodingUtils.readVarInt(stream); if (measurementLength > 0) { @@ -133,7 +133,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable @Override public void deserialize(ByteBuffer buffer) { tableName = ReadWriteIOUtils.readVarIntString(buffer); - idPredicate = IDPredicate.createFrom(buffer); + tagPredicate = TagPredicate.createFrom(buffer); int measurementLength = ReadWriteForEncodingUtils.readVarInt(buffer); if (measurementLength > 0) { @@ -150,7 +150,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable // table name + id predicate + measurement names int size = ModEntry.sizeToWriteVarString(tableName) - + idPredicate.serializedSize() + + tagPredicate.serializedSize() + ReadWriteForEncodingUtils.varIntSize(measurementNames.size()); for (String measurementName : measurementNames) { size += ModEntry.sizeToWriteVarString(measurementName); @@ -168,13 +168,13 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable } DeletionPredicate that = (DeletionPredicate) o; return Objects.equals(tableName, that.tableName) - && Objects.equals(idPredicate, that.idPredicate) + && Objects.equals(tagPredicate, that.tagPredicate) && Objects.equals(measurementNames, that.measurementNames); } @Override public int hashCode() { - return Objects.hash(tableName, idPredicate, measurementNames); + return Objects.hash(tableName, tagPredicate, measurementNames); } @Override @@ -183,8 +183,8 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable + "tableName='" + tableName + '\'' - + ", idPredicate=" - + idPredicate + + ", tagPredicate=" + + tagPredicate + ", measurementNames=" + measurementNames + '}'; @@ -194,7 +194,7 @@ public class DeletionPredicate implements StreamSerializable, BufferSerializable public long ramBytesUsed() { return SHALLOW_SIZE + RamUsageEstimator.sizeOf(tableName) - + RamUsageEstimator.sizeOfObject(idPredicate) + + RamUsageEstimator.sizeOfObject(tagPredicate) + RamUsageEstimator.sizeOfArrayList(measurementNames); } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntry.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntry.java index 952bcc2eaf6..b2c7ccee4e5 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntry.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntry.java @@ -21,7 +21,7 @@ package org.apache.iotdb.db.storageengine.dataregion.modification; import org.apache.iotdb.commons.conf.IoTDBConstant; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.queryengine.execution.MemoryEstimationHelper; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.IDPredicateType; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.TagPredicateType; import org.apache.iotdb.db.utils.ModificationUtils; import org.apache.tsfile.file.metadata.IDeviceID; @@ -138,8 +138,8 @@ public class TableDeletionEntry extends ModEntry { } public boolean isDroppingTable() { - IDPredicate idPredicate = predicate.getIdPredicate(); - return idPredicate.type == IDPredicateType.NOP + TagPredicate tagPredicate = predicate.getTagPredicate(); + return tagPredicate.type == TagPredicateType.NOP && predicate.getMeasurementNames().isEmpty() && timeRange.getMin() == Long.MIN_VALUE && timeRange.getMax() == Long.MAX_VALUE; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/IDPredicate.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TagPredicate.java similarity index 82% rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/IDPredicate.java rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TagPredicate.java index 487689d83b9..5af4a9b95fe 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/IDPredicate.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/modification/TagPredicate.java @@ -39,7 +39,7 @@ import java.util.Collections; import java.util.List; import java.util.Objects; -public abstract class IDPredicate implements StreamSerializable, BufferSerializable, Accountable { +public abstract class TagPredicate implements StreamSerializable, BufferSerializable, Accountable { public int serializedSize() { // type @@ -47,7 +47,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa } @SuppressWarnings("java:S6548") - public enum IDPredicateType { + public enum TagPredicateType { NOP, FULL_EXACT_MATCH, SEGMENT_EXACT_MATCH, @@ -63,7 +63,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa return 1; } - public static IDPredicateType deserialize(InputStream stream) throws IOException { + public static TagPredicateType deserialize(InputStream stream) throws IOException { int typeNum = stream.read(); if (typeNum == -1) { throw new EOFException(); @@ -71,14 +71,14 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa return values()[typeNum]; } - public static IDPredicateType deserialize(ByteBuffer buffer) { + public static TagPredicateType deserialize(ByteBuffer buffer) { return values()[buffer.get()]; } } - protected final IDPredicateType type; + protected final TagPredicateType type; - protected IDPredicate(IDPredicateType type) { + protected TagPredicate(TagPredicateType type) { this.type = type; } @@ -94,16 +94,16 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa return type.serialize(buffer); } - public static IDPredicate createFrom(ByteBuffer buffer) { - IDPredicateType type = IDPredicateType.deserialize(buffer); - IDPredicate predicate; - if (Objects.requireNonNull(type) == IDPredicateType.NOP) { + public static TagPredicate createFrom(ByteBuffer buffer) { + TagPredicateType type = TagPredicateType.deserialize(buffer); + TagPredicate predicate; + if (Objects.requireNonNull(type) == TagPredicateType.NOP) { predicate = new NOP(); - } else if (Objects.requireNonNull(type) == IDPredicateType.FULL_EXACT_MATCH) { + } else if (Objects.requireNonNull(type) == TagPredicateType.FULL_EXACT_MATCH) { predicate = new FullExactMatch(); - } else if (Objects.requireNonNull(type) == IDPredicateType.SEGMENT_EXACT_MATCH) { + } else if (Objects.requireNonNull(type) == TagPredicateType.SEGMENT_EXACT_MATCH) { predicate = new SegmentExactMatch(); - } else if (Objects.requireNonNull(type) == IDPredicateType.AND) { + } else if (Objects.requireNonNull(type) == TagPredicateType.AND) { predicate = new And(); } else { throw new IllegalArgumentException(StorageEngineMessages.UNRECOGNIZED_PREDICATE_TYPE + type); @@ -112,16 +112,16 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa return predicate; } - public static IDPredicate createFrom(InputStream stream) throws IOException { - IDPredicateType type = IDPredicateType.deserialize(stream); - IDPredicate predicate; - if (Objects.requireNonNull(type) == IDPredicateType.NOP) { + public static TagPredicate createFrom(InputStream stream) throws IOException { + TagPredicateType type = TagPredicateType.deserialize(stream); + TagPredicate predicate; + if (Objects.requireNonNull(type) == TagPredicateType.NOP) { predicate = new NOP(); - } else if (Objects.requireNonNull(type) == IDPredicateType.FULL_EXACT_MATCH) { + } else if (Objects.requireNonNull(type) == TagPredicateType.FULL_EXACT_MATCH) { predicate = new FullExactMatch(); - } else if (Objects.requireNonNull(type) == IDPredicateType.SEGMENT_EXACT_MATCH) { + } else if (Objects.requireNonNull(type) == TagPredicateType.SEGMENT_EXACT_MATCH) { predicate = new SegmentExactMatch(); - } else if (Objects.requireNonNull(type) == IDPredicateType.AND) { + } else if (Objects.requireNonNull(type) == TagPredicateType.AND) { predicate = new And(); } else { throw new IllegalArgumentException(StorageEngineMessages.UNRECOGNIZED_PREDICATE_TYPE + type); @@ -130,11 +130,11 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa return predicate; } - public static class NOP extends IDPredicate { + public static class NOP extends TagPredicate { public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(NOP.class); public NOP() { - super(IDPredicateType.NOP); + super(TagPredicateType.NOP); } @Override @@ -173,19 +173,19 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa } } - public static class FullExactMatch extends IDPredicate { + public static class FullExactMatch extends TagPredicate { public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(FullExactMatch.class); private IDeviceID deviceID; public FullExactMatch(IDeviceID deviceID) { - super(IDPredicateType.FULL_EXACT_MATCH); + super(TagPredicateType.FULL_EXACT_MATCH); this.deviceID = deviceID; } public FullExactMatch() { - super(IDPredicateType.FULL_EXACT_MATCH); + super(TagPredicateType.FULL_EXACT_MATCH); } @Override @@ -250,7 +250,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa } } - public static class SegmentExactMatch extends IDPredicate { + public static class SegmentExactMatch extends TagPredicate { public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(SegmentExactMatch.class); @@ -258,13 +258,13 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa private int segmentIndex; public SegmentExactMatch(String pattern, int segmentIndex) { - super(IDPredicateType.SEGMENT_EXACT_MATCH); + super(TagPredicateType.SEGMENT_EXACT_MATCH); this.pattern = pattern; this.segmentIndex = segmentIndex; } public SegmentExactMatch() { - super(IDPredicateType.SEGMENT_EXACT_MATCH); + super(TagPredicateType.SEGMENT_EXACT_MATCH); } @Override @@ -341,17 +341,17 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa } } - public static class And extends IDPredicate { + public static class And extends TagPredicate { public static final long SHALLOW_SIZE = RamUsageEstimator.shallowSizeOfInstance(And.class); - private final List<IDPredicate> predicates = new ArrayList<>(); + private final List<TagPredicate> predicates = new ArrayList<>(); - public And(IDPredicate... predicates) { - super(IDPredicateType.AND); + public And(TagPredicate... predicates) { + super(TagPredicateType.AND); Collections.addAll(this.predicates, predicates); } - public void add(IDPredicate predicate) { + public void add(TagPredicate predicate) { predicates.add(predicate); } @@ -359,7 +359,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa public int serializedSize() { int serializedSize = super.serializedSize(); serializedSize += ReadWriteForEncodingUtils.varIntSize(predicates.size()); - for (IDPredicate predicate : predicates) { + for (TagPredicate predicate : predicates) { serializedSize += predicate.serializedSize(); } return serializedSize; @@ -369,7 +369,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa public long serialize(OutputStream stream) throws IOException { long size = super.serialize(stream); size += ReadWriteForEncodingUtils.writeVarInt(predicates.size(), stream); - for (IDPredicate predicate : predicates) { + for (TagPredicate predicate : predicates) { size += predicate.serialize(stream); } return size; @@ -379,7 +379,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa public long serialize(ByteBuffer buffer) { long size = super.serialize(buffer); size += ReadWriteForEncodingUtils.writeVarInt(predicates.size(), buffer); - for (IDPredicate predicate : predicates) { + for (TagPredicate predicate : predicates) { size += predicate.serialize(buffer); } return size; @@ -389,7 +389,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa public void deserialize(InputStream stream) throws IOException { int size = ReadWriteForEncodingUtils.readVarInt(stream); for (int i = 0; i < size; i++) { - predicates.add(IDPredicate.createFrom(stream)); + predicates.add(TagPredicate.createFrom(stream)); } } @@ -397,7 +397,7 @@ public abstract class IDPredicate implements StreamSerializable, BufferSerializa public void deserialize(ByteBuffer buffer) { int size = ReadWriteForEncodingUtils.readVarInt(buffer); for (int i = 0; i < size; i++) { - predicates.add(IDPredicate.createFrom(buffer)); + predicates.add(TagPredicate.createFrom(buffer)); } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformer.java index 2effd009ab6..8d09eb2de18 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/recover/file/UnsealedTsFileRecoverPerformer.java @@ -35,9 +35,9 @@ import org.apache.iotdb.db.storageengine.dataregion.memtable.IMemTable; import org.apache.iotdb.db.storageengine.dataregion.memtable.IWritableMemChunk; import org.apache.iotdb.db.storageengine.dataregion.memtable.IWritableMemChunkGroup; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.TreeDeletionEntry; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource; import org.apache.iotdb.db.storageengine.dataregion.tsfile.timeindex.FileTimeIndexCacheRecorder; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/path/PatternTreeMapTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/path/PatternTreeMapTest.java index 7a7d71bef51..6f14ac86384 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/path/PatternTreeMapTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/path/PatternTreeMapTest.java @@ -24,9 +24,9 @@ import org.apache.iotdb.commons.path.MeasurementPath; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.path.PatternTreeMap; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.modification.TreeDeletionEntry; import org.apache.iotdb.db.utils.datastructure.PatternTreeMapFactory; import org.apache.iotdb.db.utils.datastructure.PatternTreeMapFactory.ModsSerializer; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionRecoverTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionRecoverTest.java index bcdc84a1fd0..be35ae8c881 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionRecoverTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionRecoverTest.java @@ -30,8 +30,8 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.AbstractDele import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.DeleteDataNode; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalDeleteDataNode; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; import org.apache.tsfile.read.common.TimeRange; import org.junit.After; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionResourceTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionResourceTest.java index 8eb43cab077..da0d02a3311 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionResourceTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/consensus/DeletionResourceTest.java @@ -43,8 +43,8 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.AbstractDele import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.DeleteDataNode; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalDeleteDataNode; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; import org.apache.iotdb.pipe.api.customizer.parameter.PipeParameters; import org.apache.tsfile.read.common.TimeRange; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/source/PipePlanTablePatternParseVisitorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/source/PipePlanTablePatternParseVisitorTest.java index 0a7fbfb699d..a4da1fc2fdf 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/source/PipePlanTablePatternParseVisitorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/source/PipePlanTablePatternParseVisitorTest.java @@ -29,8 +29,8 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.Creat import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceAttributeUpdateNode; import org.apache.iotdb.db.storageengine.dataregion.memtable.DeviceIDFactory; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate; import org.apache.tsfile.read.common.TimeRange; import org.junit.Assert; @@ -115,12 +115,12 @@ public class PipePlanTablePatternParseVisitorTest { new TableDeletionEntry( new DeletionPredicate( "ac", - new IDPredicate.And( - new IDPredicate.FullExactMatch( + new TagPredicate.And( + new TagPredicate.FullExactMatch( DeviceIDFactory.getInstance() .getDeviceID( new PartialPath(new String[] {"ac", "device1"}))), - new IDPredicate.SegmentExactMatch("device2", 1))), + new TagPredicate.SegmentExactMatch("device2", 1))), new TimeRange(0, 1))), "db1"), tablePattern) diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalDeleteDataNodeTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalDeleteDataNodeTest.java index e97c11c1b47..910c38f44eb 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalDeleteDataNodeTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalDeleteDataNodeTest.java @@ -24,11 +24,11 @@ import org.apache.iotdb.commons.queryengine.plan.planner.plan.node.PlanNode; import org.apache.iotdb.commons.queryengine.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.commons.queryengine.plan.planner.plan.node.PlanNodeType; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.And; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.SegmentExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.And; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.SegmentExactMatch; import org.apache.iotdb.db.storageengine.dataregion.wal.utils.WALByteBufferForTest; import org.apache.tsfile.file.metadata.IDeviceID.Factory; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/StorageEngineTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/StorageEngineTest.java index eb38bdff25a..b0b9ce2880a 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/StorageEngineTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/StorageEngineTest.java @@ -32,21 +32,12 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; import org.powermock.api.mockito.PowerMockito; import org.powermock.core.classloader.annotations.PowerMockIgnore; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; @PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*"}) @RunWith(PowerMockRunner.class) @@ -100,32 +91,16 @@ public class StorageEngineTest { @Test public void testNotifyWALRecoverManagerWhenDirectBufferAllocationFailed() throws Exception { - StorageEngine spyStorageEngine = PowerMockito.spy(storageEngine); DirectBufferMemoryAllocationException directBufferMemoryAllocationException = new DirectBufferMemoryAllocationException(2, 1); - ExecutorService testThreadPool = Executors.newSingleThreadExecutor(); - setCachedThreadPool(spyStorageEngine, testThreadPool); - PowerMockito.doReturn( - Collections.singletonMap("root.sg", Lists.newArrayList(new DataRegionId(0)))) - .when(spyStorageEngine) - .getLocalDataRegionInfo(); - PowerMockito.doThrow(directBufferMemoryAllocationException) - .when(spyStorageEngine) - .buildNewDataRegion( - ArgumentMatchers.eq("root.sg"), ArgumentMatchers.any(DataRegionId.class)); - - List<Future<Void>> futures = new ArrayList<>(); - Method asyncRecoverMethod = StorageEngine.class.getDeclaredMethod("asyncRecover", List.class); - asyncRecoverMethod.setAccessible(true); + WALRecoverManager.getInstance().setAllDataRegionScannedLatch(new ExceptionalCountDownLatch(1)); try { - asyncRecoverMethod.invoke(spyStorageEngine, futures); - - Assert.assertEquals(1, futures.size()); try { - futures.get(0).get(); + storageEngine.handleDataRegionRecoverFailure( + "root.sg", new DataRegionId(0), directBufferMemoryAllocationException); Assert.fail("Expected data region recovery to fail."); - } catch (ExecutionException e) { - Assert.assertSame(directBufferMemoryAllocationException, e.getCause()); + } catch (DataRegionException e) { + Assert.assertSame(directBufferMemoryAllocationException, e); } ExceptionalCountDownLatch latch = @@ -135,34 +110,16 @@ public class StorageEngineTest { directBufferMemoryAllocationException.getMessage(), latch.getExceptionMessage()); } finally { WALRecoverManager.getInstance().clear(); - testThreadPool.shutdownNow(); - setCachedThreadPool(spyStorageEngine, null); } } @Test public void testNotifyWALRecoverManagerButContinueForOtherDataRegionException() throws Exception { - StorageEngine spyStorageEngine = PowerMockito.spy(storageEngine); DataRegionException dataRegionException = new DataRegionException("other recovery failure"); - ExecutorService testThreadPool = Executors.newSingleThreadExecutor(); - setCachedThreadPool(spyStorageEngine, testThreadPool); - PowerMockito.doReturn( - Collections.singletonMap("root.sg", Lists.newArrayList(new DataRegionId(0)))) - .when(spyStorageEngine) - .getLocalDataRegionInfo(); - PowerMockito.doThrow(dataRegionException) - .when(spyStorageEngine) - .buildNewDataRegion( - ArgumentMatchers.eq("root.sg"), ArgumentMatchers.any(DataRegionId.class)); - - List<Future<Void>> futures = new ArrayList<>(); - Method asyncRecoverMethod = StorageEngine.class.getDeclaredMethod("asyncRecover", List.class); - asyncRecoverMethod.setAccessible(true); + WALRecoverManager.getInstance().setAllDataRegionScannedLatch(new ExceptionalCountDownLatch(1)); try { - asyncRecoverMethod.invoke(spyStorageEngine, futures); - - Assert.assertEquals(1, futures.size()); - futures.get(0).get(); + storageEngine.handleDataRegionRecoverFailure( + "root.sg", new DataRegionId(0), dataRegionException); ExceptionalCountDownLatch latch = WALRecoverManager.getInstance().getAllDataRegionScannedLatch(); @@ -170,15 +127,6 @@ public class StorageEngineTest { Assert.assertEquals(dataRegionException.getMessage(), latch.getExceptionMessage()); } finally { WALRecoverManager.getInstance().clear(); - testThreadPool.shutdownNow(); - setCachedThreadPool(spyStorageEngine, null); } } - - private void setCachedThreadPool(StorageEngine storageEngine, ExecutorService executorService) - throws Exception { - Field cachedThreadPoolField = StorageEngine.class.getDeclaredField("cachedThreadPool"); - cachedThreadPoolField.setAccessible(true); - cachedThreadPoolField.set(storageEngine, executorService); - } } diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java index 152189332b5..f2487eed6c9 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java @@ -68,9 +68,9 @@ import org.apache.iotdb.db.storageengine.dataregion.flush.TsFileFlushPolicy; import org.apache.iotdb.db.storageengine.dataregion.memtable.ReadOnlyMemChunk; import org.apache.iotdb.db.storageengine.dataregion.memtable.TsFileProcessor; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.modification.ModificationFile; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; import org.apache.iotdb.db.storageengine.dataregion.read.QueryDataSource; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResourceStatus; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/CompactionWithAllNullRowsTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/CompactionWithAllNullRowsTest.java index 9ff8a401150..69e83e769a3 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/CompactionWithAllNullRowsTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/CompactionWithAllNullRowsTest.java @@ -35,9 +35,9 @@ import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.performer.impl.ReadPointCompactionPerformer; import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.task.InnerSpaceCompactionTask; import org.apache.iotdb.db.storageengine.dataregion.modification.DeletionPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.modification.TableDeletionEntry; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource; import org.apache.tsfile.exception.write.WriteProcessException; @@ -333,7 +333,7 @@ public class CompactionWithAllNullRowsTest extends AbstractCompactionTest { new TableDeletionEntry( new DeletionPredicate( "t1", - new IDPredicate.FullExactMatch(deviceID), + new TagPredicate.FullExactMatch(deviceID), Collections.singletonList("s0")), new TimeRange(Long.MIN_VALUE, 11))); resource1 @@ -342,7 +342,7 @@ public class CompactionWithAllNullRowsTest extends AbstractCompactionTest { new TableDeletionEntry( new DeletionPredicate( "t1", - new IDPredicate.FullExactMatch(deviceID), + new TagPredicate.FullExactMatch(deviceID), Collections.singletonList("s1")), new TimeRange(Long.MIN_VALUE, 11))); resource1 @@ -351,7 +351,7 @@ public class CompactionWithAllNullRowsTest extends AbstractCompactionTest { new TableDeletionEntry( new DeletionPredicate( "t1", - new IDPredicate.FullExactMatch(deviceID), + new TagPredicate.FullExactMatch(deviceID), Collections.singletonList("s2")), new TimeRange(Long.MIN_VALUE, 11))); resource1 @@ -360,7 +360,7 @@ public class CompactionWithAllNullRowsTest extends AbstractCompactionTest { new TableDeletionEntry( new DeletionPredicate( "t1", - new IDPredicate.FullExactMatch(deviceID), + new TagPredicate.FullExactMatch(deviceID), Collections.singletonList("s3")), new TimeRange(Long.MIN_VALUE, 11))); resource1.getModFileForWrite().close(); diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/ModificationFileTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/ModificationFileTest.java index fb4ce06fc33..65abd59e293 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/ModificationFileTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/ModificationFileTest.java @@ -23,9 +23,9 @@ import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.path.MeasurementPath; import org.apache.iotdb.db.service.metrics.FileMetrics; import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.recover.CompactionRecoverManager; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.SegmentExactMatch; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.SegmentExactMatch; import org.apache.iotdb.db.utils.constant.TestConstant; import org.apache.tsfile.file.metadata.IDeviceID.Factory; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntryTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntryTest.java index f4e90957945..315432c03a1 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntryTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/modification/TableDeletionEntryTest.java @@ -18,10 +18,10 @@ */ package org.apache.iotdb.db.storageengine.dataregion.modification; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.And; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.FullExactMatch; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.NOP; -import org.apache.iotdb.db.storageengine.dataregion.modification.IDPredicate.SegmentExactMatch; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.And; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.FullExactMatch; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.NOP; +import org.apache.iotdb.db.storageengine.dataregion.modification.TagPredicate.SegmentExactMatch; import org.apache.tsfile.file.metadata.IDeviceID; import org.apache.tsfile.file.metadata.IDeviceID.Factory; @@ -69,7 +69,7 @@ public class TableDeletionEntryTest { public void testDeserializePredicateTypeFromEmptyStream() { assertThrows( EOFException.class, - () -> IDPredicate.IDPredicateType.deserialize(new ByteArrayInputStream(new byte[0]))); + () -> TagPredicate.TagPredicateType.deserialize(new ByteArrayInputStream(new byte[0]))); } @Test
