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 <[email protected]> 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() {
