You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/05/10 03:57:15 UTC

[iotdb] 01/01: Follower doesn't need to update last cache

This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch follower_no_last_cache
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 68ac8560a7686babbfccd957aef1982a7e0aec93
Author: HTHou <hh...@outlook.com>
AuthorDate: Wed May 10 11:55:05 2023 +0800

    Follower doesn't need to update last cache
---
 .../main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java | 4 ++--
 .../apache/iotdb/db/mpp/plan/planner/plan/node/write/InsertNode.java  | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
index bcb4078187..f33aa34857 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
@@ -1146,7 +1146,7 @@ public class DataRegion implements IDataRegionForQuery {
   }
 
   private void tryToUpdateBatchInsertLastCache(InsertTabletNode node, long latestFlushedTime) {
-    if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled()) {
+    if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled() || !node.isFromLeader()) {
       return;
     }
     DataNodeSchemaCache.getInstance()
@@ -1186,7 +1186,7 @@ public class DataRegion implements IDataRegionForQuery {
   }
 
   private void tryToUpdateInsertLastCache(InsertRowNode node, long latestFlushedTime) {
-    if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled()) {
+    if (!IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled() || !node.isFromLeader()) {
       return;
     }
     DataNodeSchemaCache.getInstance()
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/write/InsertNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/write/InsertNode.java
index 0994935c95..a953985b84 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/write/InsertNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/write/InsertNode.java
@@ -292,6 +292,10 @@ public abstract class InsertNode extends WritePlanNode {
 
   public abstract Object getFirstValueOfIndex(int index);
 
+  public boolean isFromLeader() {
+    return searchIndex == ConsensusReqReader.DEFAULT_SEARCH_INDEX;
+  }
+
   // region partial insert
   /**
    * Mark failed measurement, measurements[index], dataTypes[index] and values/columns[index] would