You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/12/14 06:15:11 UTC

[iotdb] branch master updated: [IOTDB-5199]fix NPE in StorageExector inLoading process (#8440)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4dcd255ae8 [IOTDB-5199]fix NPE in StorageExector inLoading process (#8440)
4dcd255ae8 is described below

commit 4dcd255ae86485f4d3e019ab622e5af42d324340
Author: Weihao Li <60...@users.noreply.github.com>
AuthorDate: Wed Dec 14 14:15:06 2022 +0800

    [IOTDB-5199]fix NPE in StorageExector inLoading process (#8440)
---
 .../java/org/apache/iotdb/commons/partition/ExecutorType.java |  4 ----
 .../org/apache/iotdb/commons/partition/StorageExecutor.java   | 11 ++++-------
 .../planner/distribution/WriteFragmentParallelPlanner.java    |  4 +++-
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/partition/ExecutorType.java b/node-commons/src/main/java/org/apache/iotdb/commons/partition/ExecutorType.java
index e947ad732a..648762f7c4 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/partition/ExecutorType.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/partition/ExecutorType.java
@@ -33,8 +33,4 @@ public interface ExecutorType {
   default TRegionReplicaSet getRegionReplicaSet() {
     throw new UnsupportedOperationException(getClass().getName());
   }
-
-  default void setRegionReplicaSet(TRegionReplicaSet regionReplicaSet) {
-    throw new UnsupportedOperationException(getClass().getName());
-  }
 }
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/partition/StorageExecutor.java b/node-commons/src/main/java/org/apache/iotdb/commons/partition/StorageExecutor.java
index fa517d627d..a99b4dea07 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/partition/StorageExecutor.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/partition/StorageExecutor.java
@@ -22,13 +22,15 @@ package org.apache.iotdb.commons.partition;
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 
+import javax.annotation.Nonnull;
+
 import java.util.Objects;
 
 /** StorageExecutor indicates execution of this query need data from StorageEngine */
 public class StorageExecutor implements ExecutorType {
-  private TRegionReplicaSet regionReplicaSet;
+  private final TRegionReplicaSet regionReplicaSet;
 
-  public StorageExecutor(TRegionReplicaSet regionReplicaSet) {
+  public StorageExecutor(@Nonnull TRegionReplicaSet regionReplicaSet) {
     this.regionReplicaSet = regionReplicaSet;
   }
 
@@ -47,11 +49,6 @@ public class StorageExecutor implements ExecutorType {
     return regionReplicaSet;
   }
 
-  @Override
-  public void setRegionReplicaSet(TRegionReplicaSet regionReplicaSet) {
-    this.regionReplicaSet = regionReplicaSet;
-  }
-
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/WriteFragmentParallelPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/WriteFragmentParallelPlanner.java
index 0902dc562f..170844db50 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/WriteFragmentParallelPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/WriteFragmentParallelPlanner.java
@@ -65,7 +65,9 @@ public class WriteFragmentParallelPlanner implements IFragmentParallelPlaner {
               queryContext.getQueryType(),
               queryContext.getTimeOut(),
               queryContext.getSession());
-      instance.setExecutorAndHost(new StorageExecutor(split.getRegionReplicaSet()));
+      if (split.getRegionReplicaSet() != null) {
+        instance.setExecutorAndHost(new StorageExecutor(split.getRegionReplicaSet()));
+      }
       ret.add(instance);
     }
     return ret;