This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch rel/1.2
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/1.2 by this push:
new db4a306a27e [To rel/1.2] Accelerate the deletion execution (#10980)
db4a306a27e is described below
commit db4a306a27e979cb2b786c115eb47f928a646ce7
Author: Haonan <[email protected]>
AuthorDate: Tue Aug 29 11:52:37 2023 +0800
[To rel/1.2] Accelerate the deletion execution (#10980)
---
.../plan/planner/plan/node/write/DeleteDataNode.java | 12 +++++++++++-
.../apache/iotdb/db/storageengine/dataregion/DataRegion.java | 3 +++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
index 8ec2af696a2..9a60ca04ca5 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/DeleteDataNode.java
@@ -270,7 +270,17 @@ public class DeleteDataNode extends WritePlanNode
implements WALEntryValue {
.map(
o ->
new DeleteDataNode(
- getPlanNodeId(), regionToPatternMap.get(o),
deleteStartTime, deleteEndTime, o))
+ getPlanNodeId(),
+ // Pick the smaller path list to execute the deletion.
+ // E.g. There is only one path(root.sg.**) in pathList and
two paths(root.sg.d1,
+ // root.sg.d2) in a map entry in regionToPatternMap.
Choose the original path is
+ // better.
+ this.pathList.size() < regionToPatternMap.get(o).size()
+ ? this.pathList
+ : regionToPatternMap.get(o),
+ deleteStartTime,
+ deleteEndTime,
+ o))
.collect(Collectors.toList());
}
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 95ffb6264a7..75609c20f93 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
@@ -1935,6 +1935,9 @@ public class DataRegion implements IDataRegionForQuery {
return true;
}
}
+ if (databaseName.contentEquals(device.getDevice())) {
+ return false;
+ }
Pair<Long, Long> startAndEndTime =
tsFileResource.getPossibleStartTimeAndEndTime(device,
deviceMatchInfo);
if (startAndEndTime == null) {