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/03/22 13:59:05 UTC

[iotdb] branch dependencyBug created (now cffeb9df1b)

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

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


      at cffeb9df1b Avoid reserverSize is decreased more than once

This branch includes the following new commits:

     new 630599b735 add dependency to the parent pipeline
     new cffeb9df1b Avoid reserverSize is decreased more than once

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 02/02: Avoid reserverSize is decreased more than once

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit cffeb9df1b9795ada2b46170aa821e984c252c8d
Author: Alima777 <wx...@gmail.com>
AuthorDate: Wed Mar 22 21:58:43 2023 +0800

    Avoid reserverSize is decreased more than once
---
 .../org/apache/iotdb/db/mpp/execution/schedule/DriverScheduler.java     | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/DriverScheduler.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/DriverScheduler.java
index 5179a57b3a..6cd893f441 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/DriverScheduler.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/DriverScheduler.java
@@ -311,7 +311,6 @@ public class DriverScheduler implements IDriverScheduler, IService {
           readyQueue.decreaseReservedSize();
           break;
         case FINISHED:
-          readyQueue.decreaseReservedSize();
           break;
       }
 
@@ -482,6 +481,7 @@ public class DriverScheduler implements IDriverScheduler, IService {
         }
         task.updateSchedulePriority(context);
         task.setStatus(DriverTaskStatus.FINISHED);
+        readyQueue.decreaseReservedSize();
       } finally {
         task.unlock();
       }


[iotdb] 01/02: add dependency to the parent pipeline

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 630599b735dd19e0fc956c45d445c31aac632f87
Author: Alima777 <wx...@gmail.com>
AuthorDate: Wed Mar 22 21:56:15 2023 +0800

    add dependency to the parent pipeline
---
 .../org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
index 0e556f45bb..1083fafcfc 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
@@ -2587,8 +2587,9 @@ public class OperatorTreeGenerator extends PlanVisitor<Operator, LocalExecutionP
           if (sumOfChildPipelines > dopForChild) {
             // Update dependencyPipeId, after which finishes we can submit curChildPipeline
             while (sumOfChildPipelines > dopForChild) {
-              dependencyPipeId = context.getPipelineNumber() - sumOfChildPipelines;
               sumOfChildPipelines -= childPipelineNums.get(dependencyChildNode);
+              // The dependency pipeline must be a parent pipeline rather than a child pipeline
+              dependencyPipeId = context.getPipelineNumber() - sumOfChildPipelines - 1;
               sumOfChildExchangeNums -= childExchangeNums.get(dependencyChildNode);
               dependencyChildNode++;
             }