This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/object_type by this push:
new 73c681a7c0d decide how to sync log
73c681a7c0d is described below
commit 73c681a7c0d4c4b8d0368df86c4a4f692a0e763a
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Jul 8 15:02:42 2025 +0800
decide how to sync log
---
.../iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java | 2 ++
.../iotdb/db/queryengine/plan/planner/plan/node/write/FileNode.java | 3 +++
.../queryengine/plan/planner/plan/node/write/InsertTabletNode.java | 5 +++++
.../apache/iotdb/db/storageengine/dataregion/wal/node/WALNode.java | 5 +++++
4 files changed, 15 insertions(+)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
index f227429c5b3..a90372bcd9c 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
@@ -386,6 +386,8 @@ public enum PlanNodeType {
case 2003:
return RelationalDeleteDataNode.deserializeFromWAL(buffer);
case 2004:
+ // TODO haonan only be called by follower, should call normal
dserialize instead from
+ // deserializeFromWAL
return FileNode.deserializeFromWAL(buffer);
default:
throw new IllegalArgumentException("Invalid node type: " + nodeType);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/FileNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/FileNode.java
index cdd393d579f..5ea2c64f2c4 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/FileNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/write/FileNode.java
@@ -90,6 +90,7 @@ public class FileNode extends SearchNode implements
WALEntryValue {
@Override
public void serializeToWAL(IWALByteBufferView buffer) {
+ // TODO haonan only need relativePath, offset, length, eof
buffer.putShort(getType().getNodeType());
buffer.putLong(searchIndex);
buffer.put((byte) (isEOF ? 1 : 0));
@@ -109,6 +110,8 @@ public class FileNode extends SearchNode implements
WALEntryValue {
}
public static FileNode deserializeFromWAL(DataInputStream stream) throws
IOException {
+ // TODO haonan only be called in recovery, should only deserialize
relativePath, offset, eof,
+ // length
long searchIndex = stream.readLong();
boolean isEOF = stream.readByte() == 1;
long offset = stream.readLong();
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 a1f909b2b8e..4ee52f1d9da 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
@@ -221,6 +221,11 @@ public class InsertTabletNode extends InsertNode
implements WALEntryValue {
final Map<TRegionReplicaSet, List<Integer>> splitMap =
splitByReplicaSet(deviceIDSplitInfoMap, analysis);
+ // TODO haonan should generate ObjectNode for each object point
+ // TODO haonan normal serialize method should contain relativePath,
offset, length, eof,
+ // fileContent
+ // ObjectPlanNode(relativePath, offset, eof, length, fileContent),
ObjectNode, ObjectNode,
+ // InsertNode()
return doSplit(splitMap);
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNode.java
index dafc852fd44..d73075cdf29 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNode.java
@@ -781,6 +781,11 @@ public class WALNode implements IWALNode {
WALEntry walEntry =
WALEntry.deserialize(
new DataInputStream(new
ByteArrayInputStream(buffer.array())));
+ // TODO haonan only be called by leader read from wal
+ // only have relativePath, offset, eof, length
+ // need to add WALEntryType + memtableId + relativePath,
offset, eof, length +
+ // filecontent
+ // need to add IoTConsensusRequest instead of FileNode
tmpNodes.get().add((FileNode) walEntry.getValue());
} else {
tmpNodes.get().add(new IoTConsensusRequest(buffer));