Skip to content

Commit 89e1abb

Browse files
committed
Remove unrelated load changes from LIKE fix
1 parent b9abb27 commit 89e1abb

6 files changed

Lines changed: 16 additions & 78 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,6 @@ public PlanNode visitLoadFile(
555555
loadTsFileStatement.getResources(),
556556
isTableModel,
557557
loadTsFileStatement.getDatabase(),
558-
loadTsFileStatement.getDatabaseLevel(),
559558
loadTsFileStatement.isNeedDecode4TimeColumn());
560559
}
561560

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadSingleTsFileNode.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ public class LoadSingleTsFileNode extends WritePlanNode {
6060
private final TsFileResource resource;
6161
private final boolean isTableModel;
6262
private final String database;
63-
private final int databaseLevel;
6463
private final boolean deleteAfterLoad;
6564
private final long writePointCount;
6665
private boolean needDecodeTsFile;
@@ -72,7 +71,6 @@ public LoadSingleTsFileNode(
7271
final TsFileResource resource,
7372
final boolean isTableModel,
7473
final String database,
75-
final int databaseLevel,
7674
final boolean deleteAfterLoad,
7775
final long writePointCount,
7876
final boolean needDecodeTsFile) {
@@ -81,7 +79,6 @@ public LoadSingleTsFileNode(
8179
this.resource = resource;
8280
this.isTableModel = isTableModel;
8381
this.database = database;
84-
this.databaseLevel = databaseLevel;
8582
this.deleteAfterLoad = deleteAfterLoad;
8683
this.writePointCount = writePointCount;
8784
this.needDecodeTsFile = needDecodeTsFile;
@@ -179,10 +176,6 @@ public String getDatabase() {
179176
return database;
180177
}
181178

182-
public int getDatabaseLevel() {
183-
return databaseLevel;
184-
}
185-
186179
@Override
187180
public TRegionReplicaSet getRegionReplicaSet() {
188181
return null;
@@ -268,7 +261,6 @@ public boolean equals(Object o) {
268261
&& Objects.equals(resource, loadSingleTsFileNode.resource)
269262
&& Objects.equals(isTableModel, loadSingleTsFileNode.isTableModel)
270263
&& Objects.equals(database, loadSingleTsFileNode.database)
271-
&& Objects.equals(databaseLevel, loadSingleTsFileNode.databaseLevel)
272264
&& Objects.equals(needDecodeTsFile, loadSingleTsFileNode.needDecodeTsFile)
273265
&& Objects.equals(deleteAfterLoad, loadSingleTsFileNode.deleteAfterLoad)
274266
&& Objects.equals(localRegionReplicaSet, loadSingleTsFileNode.localRegionReplicaSet);
@@ -281,7 +273,6 @@ public int hashCode() {
281273
resource,
282274
isTableModel,
283275
database,
284-
databaseLevel,
285276
needDecodeTsFile,
286277
deleteAfterLoad,
287278
localRegionReplicaSet);

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/load/LoadTsFileNode.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,18 @@ public class LoadTsFileNode extends WritePlanNode {
4747
private final List<TsFileResource> resources;
4848
private final List<Boolean> isTableModel;
4949
private final String database;
50-
private final int databaseLevel;
5150
private final boolean needDecode4TimeColumn;
5251

5352
public LoadTsFileNode(
5453
final PlanNodeId id,
5554
final List<TsFileResource> resources,
5655
final List<Boolean> isTableModel,
5756
final String database,
58-
final int databaseLevel,
5957
final boolean needDecode4TimeColumn) {
6058
super(id);
6159
this.resources = resources;
6260
this.isTableModel = isTableModel;
6361
this.database = database;
64-
this.databaseLevel = databaseLevel;
6562
this.needDecode4TimeColumn = needDecode4TimeColumn;
6663
}
6764

@@ -131,7 +128,6 @@ private List<WritePlanNode> splitByPartitionForTreeModel(Analysis analysis) {
131128
resources.get(i),
132129
isTableModel.get(i),
133130
database,
134-
databaseLevel,
135131
statement.isDeleteAfterLoad(),
136132
statement.getWritePointCount(i),
137133
needDecode4TimeColumn));
@@ -155,7 +151,6 @@ private List<WritePlanNode> splitByPartitionForTableModel(
155151
resources.get(i),
156152
isTableModel.get(i),
157153
database,
158-
databaseLevel,
159154
statement.isDeleteAfterLoad(),
160155
statement.getWritePointCount(i),
161156
needDecode4TimeColumn));
@@ -178,12 +173,11 @@ public boolean equals(Object o) {
178173
LoadTsFileNode loadTsFileNode = (LoadTsFileNode) o;
179174
return Objects.equals(resources, loadTsFileNode.resources)
180175
&& Objects.equals(database, loadTsFileNode.database)
181-
&& Objects.equals(databaseLevel, loadTsFileNode.databaseLevel)
182176
&& Objects.equals(isTableModel, loadTsFileNode.isTableModel);
183177
}
184178

185179
@Override
186180
public int hashCode() {
187-
return Objects.hash(resources, database, databaseLevel, isTableModel);
181+
return Objects.hash(resources, database, isTableModel);
188182
}
189183
}

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1410,7 +1410,6 @@ public RelationPlan visitLoadTsFile(final LoadTsFile node, final Void context) {
14101410
node.getResources(),
14111411
isTableModel,
14121412
node.getDatabase(),
1413-
node.getDatabaseLevel(),
14141413
node.isNeedDecode4TimeColumn()),
14151414
analysis.getRootScope(),
14161415
Collections.emptyList(),

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/load/LoadTsFileScheduler.java

Lines changed: 14 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,10 @@
3030
import org.apache.iotdb.commons.consensus.ConsensusGroupId;
3131
import org.apache.iotdb.commons.consensus.DataRegionId;
3232
import org.apache.iotdb.commons.consensus.index.ProgressIndex;
33-
import org.apache.iotdb.commons.exception.IllegalPathException;
3433
import org.apache.iotdb.commons.exception.IoTDBException;
3534
import org.apache.iotdb.commons.partition.DataPartition;
3635
import org.apache.iotdb.commons.partition.DataPartitionQueryParam;
3736
import org.apache.iotdb.commons.partition.StorageExecutor;
38-
import org.apache.iotdb.commons.path.PartialPath;
3937
import org.apache.iotdb.commons.service.metric.MetricService;
4038
import org.apache.iotdb.commons.service.metric.enums.Metric;
4139
import org.apache.iotdb.commons.service.metric.enums.Tag;
@@ -183,8 +181,7 @@ public void start() {
183181
final LoadSingleTsFileNode node = tsFileNodeList.get(i);
184182
final String filePath = node.getTsFileResource().getTsFilePath();
185183

186-
partitionFetcher.setDatabase(
187-
getPartitionQueryDatabase(node, isGeneratedByPipe), node.getDatabaseLevel());
184+
partitionFetcher.setDatabase(getPartitionQueryDatabase(node, isGeneratedByPipe));
188185

189186
boolean isLoadSingleTsFileSuccess = true;
190187
boolean shouldRemoveFileFromLoadingSet = false;
@@ -643,38 +640,7 @@ private void convertFailedTsFilesToTabletsAndRetry() {
643640

644641
static String getPartitionQueryDatabase(
645642
final LoadSingleTsFileNode node, final boolean isGeneratedByPipe) {
646-
if (node.isTableModel()) {
647-
return node.getDatabase();
648-
}
649-
if (!isGeneratedByPipe) {
650-
return null;
651-
}
652-
return node.getDatabase() != null
653-
? node.getDatabase()
654-
: inferDatabaseName(node.getTsFileResource().getDevices(), node.getDatabaseLevel());
655-
}
656-
657-
private static String inferDatabaseName(final Set<IDeviceID> devices, final int databaseLevel) {
658-
if (devices == null || devices.isEmpty()) {
659-
return null;
660-
}
661-
return inferDatabaseName(devices.iterator().next(), databaseLevel);
662-
}
663-
664-
private static String inferDatabaseName(final IDeviceID deviceID, final int databaseLevel) {
665-
try {
666-
final String[] deviceNodes = new PartialPath(deviceID).getNodes();
667-
final int databaseNodesLength = databaseLevel + 1;
668-
if (deviceNodes.length < databaseNodesLength) {
669-
return null;
670-
}
671-
final String[] databaseNodes = new String[databaseNodesLength];
672-
System.arraycopy(deviceNodes, 0, databaseNodes, 0, databaseNodesLength);
673-
return new PartialPath(databaseNodes).getFullPath();
674-
} catch (final IllegalPathException e) {
675-
LOGGER.warn("Failed to infer database name from device {}.", deviceID, e);
676-
return null;
677-
}
643+
return node.isTableModel() || isGeneratedByPipe ? node.getDatabase() : null;
678644
}
679645

680646
private LoadTsFileStatement buildRetryTreeLoadStatement(
@@ -887,15 +853,13 @@ private void clear() {
887853
private static class DataPartitionBatchFetcher {
888854
private final IPartitionFetcher fetcher;
889855
private String database;
890-
private int databaseLevel;
891856

892857
public DataPartitionBatchFetcher(IPartitionFetcher fetcher) {
893858
this.fetcher = fetcher;
894859
}
895860

896-
public void setDatabase(String database, int databaseLevel) {
861+
public void setDatabase(String database) {
897862
this.database = database;
898-
this.databaseLevel = databaseLevel;
899863
}
900864

901865
public List<TRegionReplicaSet> queryDataPartition(
@@ -911,17 +875,14 @@ public List<TRegionReplicaSet> queryDataPartition(
911875
replicaSets.addAll(
912876
subSlotList.stream()
913877
.map(
914-
pair -> {
915-
// database is an explicit database hint for table-model loads and
916-
// pipe-generated tree-model loads. When a pipe-generated tree-model load
917-
// only carries database-level, infer the database from the device.
918-
final String queryDatabase =
919-
database != null ? database : inferDatabaseName(pair.left, databaseLevel);
920-
return queryDatabase != null
921-
? dataPartition.getDataRegionReplicaSetForWriting(
922-
pair.left, pair.right, queryDatabase)
923-
: dataPartition.getDataRegionReplicaSetForWriting(pair.left, pair.right);
924-
})
878+
pair ->
879+
// database is an explicit database hint for table-model loads and
880+
// pipe-generated tree-model loads.
881+
database != null
882+
? dataPartition.getDataRegionReplicaSetForWriting(
883+
pair.left, pair.right, database)
884+
: dataPartition.getDataRegionReplicaSetForWriting(
885+
pair.left, pair.right))
925886
.collect(Collectors.toList()));
926887
}
927888
return replicaSets;
@@ -940,12 +901,9 @@ private List<DataPartitionQueryParam> toQueryParam(
940901
DataPartitionQueryParam queryParam =
941902
new DataPartitionQueryParam(entry.getKey(), new ArrayList<>(entry.getValue()));
942903
// database is an explicit database hint for table-model loads and
943-
// pipe-generated tree-model loads. When a pipe-generated tree-model load
944-
// only carries database-level, infer the database from the device.
945-
final String queryDatabase =
946-
database != null ? database : inferDatabaseName(entry.getKey(), databaseLevel);
947-
if (queryDatabase != null) {
948-
queryParam.setDatabaseName(queryDatabase);
904+
// pipe-generated tree-model loads.
905+
if (database != null) {
906+
queryParam.setDatabaseName(database);
949907
}
950908
return queryParam;
951909
})

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/load/LoadTsFileNodeTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,11 @@ public class LoadTsFileNodeTest {
4040
public void testLoadSingleTsFileNode() {
4141
TsFileResource resource = new TsFileResource(new File("1"));
4242
String database = "root.db";
43-
int databaseLevel = 1;
4443
LoadSingleTsFileNode node =
45-
new LoadSingleTsFileNode(
46-
new PlanNodeId(""), resource, false, database, databaseLevel, true, 0L, false);
44+
new LoadSingleTsFileNode(new PlanNodeId(""), resource, false, database, true, 0L, false);
4745
Assert.assertTrue(node.isDeleteAfterLoad());
4846
Assert.assertEquals(resource, node.getTsFileResource());
4947
Assert.assertEquals(database, node.getDatabase());
50-
Assert.assertEquals(databaseLevel, node.getDatabaseLevel());
5148
Assert.assertNull(node.getLocalRegionReplicaSet());
5249
Assert.assertNull(node.getRegionReplicaSet());
5350
Assert.assertEquals(Collections.emptyList(), node.getChildren());

0 commit comments

Comments
 (0)