You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2023/02/11 12:00:58 UTC

[iotdb] 08/13: Fix onebyone dependency bug

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

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

commit c49ee73ec698d3b456ed004ba17eb43bff9dc684
Author: Alima777 <wx...@gmail.com>
AuthorDate: Thu Feb 9 22:55:25 2023 +0800

    Fix onebyone dependency bug
---
 .../apache/iotdb/db/mpp/execution/schedule/task/DriverTask.java  | 9 +++++++--
 .../iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java     | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTask.java
index b4c501a158..f692451cd1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/task/DriverTask.java
@@ -59,7 +59,7 @@ public class DriverTask implements IDIndexedAccessible {
   private long lastEnterReadyQueueTime;
   private long lastEnterBlockQueueTime;
 
-  private SettableFuture<?> blockedDependencyDriver = SettableFuture.create();
+  private SettableFuture<?> blockedDependencyDriver = null;
 
   /** Initialize a dummy instance for queryHolder */
   public DriverTask() {
@@ -141,10 +141,15 @@ public class DriverTask implements IDIndexedAccessible {
   }
 
   public void submitDependencyDriver() {
-    this.blockedDependencyDriver.set(null);
+    if (blockedDependencyDriver != null) {
+      this.blockedDependencyDriver.set(null);
+    }
   }
 
   public SettableFuture<?> getBlockedDependencyDriver() {
+    if (blockedDependencyDriver == null) {
+      blockedDependencyDriver = SettableFuture.create();
+    }
     return blockedDependencyDriver;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java
index 2926e6a261..afe74593c2 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java
@@ -145,7 +145,7 @@ public class LocalExecutionPlanContext {
   }
 
   public int getPipelineNumber() {
-    return nextPipelineId.get();
+    return pipelineDriverFactories.size();
   }
 
   public DriverContext getDriverContext() {