This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch optimize_single_device_tablet_v3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to
refs/heads/optimize_single_device_tablet_v3 by this push:
new a7579e44826 dev wal
a7579e44826 is described below
commit a7579e4482663a02c74253053e314357f39e9b5e
Author: HTHou <[email protected]>
AuthorDate: Tue Mar 18 09:40:09 2025 +0800
dev wal
---
.../plan/planner/plan/node/write/InsertTabletNode.java | 12 ++++++++++--
.../planner/plan/node/write/RelationalInsertTabletNode.java | 10 ++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
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 a963564516d..15861b29cf9 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
@@ -880,7 +880,7 @@ public class InsertTabletNode extends InsertNode implements
WALEntryValue {
writeTimes(buffer, rangeList, rowNumInRange);
writeBitMaps(buffer, rangeList, rowNumInRange);
writeValues(buffer, rangeList);
- buffer.put((byte) (isAligned ? 1 : 0));
+ writeTabletAttribute(buffer);
}
/** Serialize measurement schemas, ignoring failed time series */
@@ -938,6 +938,10 @@ public class InsertTabletNode extends InsertNode
implements WALEntryValue {
}
}
+ void writeTabletAttribute(IWALByteBufferView buffer) {
+ buffer.put((byte) (isAligned ? 1 : 0));
+ }
+
private void serializeColumn(
TSDataType dataType, Object column, IWALByteBufferView buffer, int
start, int end) {
switch (dataType) {
@@ -1024,6 +1028,10 @@ public class InsertTabletNode extends InsertNode
implements WALEntryValue {
}
columns =
QueryDataSetUtils.readTabletValuesFromStream(stream, dataTypes,
measurementSize, rowCount);
+ readTabletAttribute(stream);
+ }
+
+ void readTabletAttribute(DataInputStream stream) throws IOException {
isAligned = stream.readByte() == 1;
}
@@ -1064,7 +1072,7 @@ public class InsertTabletNode extends InsertNode
implements WALEntryValue {
}
columns =
QueryDataSetUtils.readTabletValuesFromBuffer(buffer, dataTypes,
measurementSize, rowCount);
- isAligned = buffer.get() == 1;
+ readTabletAttribute(buffer);
}
// endregion
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
index 8a89a3a1d01..8ec4400180a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/RelationalInsertTabletNode.java
@@ -275,6 +275,11 @@ public class RelationalInsertTabletNode extends
InsertTabletNode {
singleDevice = buffer.get() == -1;
}
+ @Override
+ void readTabletAttribute(DataInputStream stream) throws IOException {
+ singleDevice = stream.readByte() == -1;
+ }
+
@Override
void subSerialize(IWALByteBufferView buffer, List<int[]> rangeList) {
super.subSerialize(buffer, rangeList);
@@ -285,6 +290,11 @@ public class RelationalInsertTabletNode extends
InsertTabletNode {
}
}
+ @Override
+ void writeTabletAttribute(IWALByteBufferView buffer) {
+ buffer.put((byte) (singleDevice ? -1 : 0));
+ }
+
@Override
protected void subDeserializeFromWAL(ByteBuffer buffer) {
super.subDeserializeFromWAL(buffer);