This is an automated email from the ASF dual-hosted git repository. tanxinyu pushed a commit to branch optimize-insertnode-device-init-performance in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 9502f7e926051b9fef712a35db3053fc88bf1f07 Author: OneSizeFitQuorum <[email protected]> AuthorDate: Mon Jun 17 18:12:32 2024 +0800 finish Signed-off-by: OneSizeFitQuorum <[email protected]> --- .../plan/node/metedata/write/CreateAlignedTimeSeriesNode.java | 3 ++- .../queryengine/plan/planner/plan/node/write/InsertRowNode.java | 8 ++++++-- .../plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java | 5 ++++- .../plan/planner/plan/node/write/InsertTabletNode.java | 8 ++++++-- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateAlignedTimeSeriesNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateAlignedTimeSeriesNode.java index 64e70aad1bd..1fda758e775 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateAlignedTimeSeriesNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/write/CreateAlignedTimeSeriesNode.java @@ -23,6 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; import org.apache.iotdb.commons.exception.IllegalPathException; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis; +import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType; @@ -211,7 +212,7 @@ public class CreateAlignedTimeSeriesNode extends WritePlanNode byte[] bytes = new byte[length]; byteBuffer.get(bytes); try { - devicePath = new PartialPath(new String(bytes)); + devicePath = DataNodeDevicePathCache.getInstance().getPartialPath(new String(bytes)); } catch (IllegalPathException e) { throw new IllegalArgumentException("Can not deserialize CreateAlignedTimeSeriesNode", e); } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java index bda7132fb7b..57107294f76 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowNode.java @@ -417,7 +417,9 @@ public class InsertRowNode extends InsertNode implements WALEntryValue { void subDeserialize(ByteBuffer byteBuffer) { time = byteBuffer.getLong(); try { - devicePath = new PartialPath(ReadWriteIOUtils.readString(byteBuffer)); + devicePath = + DataNodeDevicePathCache.getInstance() + .getPartialPath(ReadWriteIOUtils.readString(byteBuffer)); } catch (IllegalPathException e) { throw new IllegalArgumentException(DESERIALIZE_ERROR, e); } @@ -741,7 +743,9 @@ public class InsertRowNode extends InsertNode implements WALEntryValue { InsertRowNode insertNode = new InsertRowNode(new PlanNodeId("")); insertNode.setTime(buffer.getLong()); try { - insertNode.setDevicePath(new PartialPath(ReadWriteIOUtils.readString(buffer))); + insertNode.setDevicePath( + DataNodeDevicePathCache.getInstance() + .getPartialPath(ReadWriteIOUtils.readString(buffer))); } catch (IllegalPathException e) { throw new IllegalArgumentException(DESERIALIZE_ERROR, e); } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java index 864880fd774..0ec16ef69c7 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertRowsOfOneDeviceNode.java @@ -27,6 +27,7 @@ import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.commons.utils.StatusUtils; import org.apache.iotdb.commons.utils.TimePartitionUtils; import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis; +import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType; @@ -228,7 +229,9 @@ public class InsertRowsOfOneDeviceNode extends InsertNode { List<Integer> insertRowNodeIndex = new ArrayList<>(); try { - devicePath = new PartialPath(ReadWriteIOUtils.readString(byteBuffer)); + devicePath = + DataNodeDevicePathCache.getInstance() + .getPartialPath((ReadWriteIOUtils.readString(byteBuffer))); } catch (IllegalPathException e) { throw new IllegalArgumentException("Cannot deserialize InsertRowsOfOneDeviceNode", e); } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java index 6fc61399b35..58f6dd363c7 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/InsertTabletNode.java @@ -638,7 +638,9 @@ public class InsertTabletNode extends InsertNode implements WALEntryValue { public void subDeserialize(ByteBuffer buffer) { try { - devicePath = new PartialPath(ReadWriteIOUtils.readString(buffer)); + devicePath = + DataNodeDevicePathCache.getInstance() + .getPartialPath((ReadWriteIOUtils.readString(buffer))); } catch (IllegalPathException e) { throw new IllegalArgumentException("Cannot deserialize InsertTabletNode", e); } @@ -929,7 +931,9 @@ public class InsertTabletNode extends InsertNode implements WALEntryValue { private void subDeserializeFromWAL(ByteBuffer buffer) { searchIndex = buffer.getLong(); try { - devicePath = new PartialPath(ReadWriteIOUtils.readString(buffer)); + devicePath = + DataNodeDevicePathCache.getInstance() + .getPartialPath((ReadWriteIOUtils.readString(buffer))); } catch (IllegalPathException e) { throw new IllegalArgumentException("Cannot deserialize InsertTabletNode", e); }
