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));

Reply via email to