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 2023/04/28 09:23:31 UTC

[iotdb] branch rel/1.1 updated: [To rel/1.1][IOTDB-5832] Fix Bug: The size of readyQueue is negative incorrectly

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

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


The following commit(s) were added to refs/heads/rel/1.1 by this push:
     new 34754f1e578 [To rel/1.1][IOTDB-5832] Fix Bug: The size of readyQueue is negative incorrectly
34754f1e578 is described below

commit 34754f1e578a031582f66f28599bea208e42a0c0
Author: Xiangwei Wei <34...@users.noreply.github.com>
AuthorDate: Fri Apr 28 17:23:25 2023 +0800

    [To rel/1.1][IOTDB-5832] Fix Bug: The size of readyQueue is negative incorrectly
---
 .../iotdb/db/mpp/execution/schedule/queue/IndexedBlockingQueue.java   | 1 +
 .../schedule/queue/multilevelqueue/MultilevelPriorityQueue.java       | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/IndexedBlockingQueue.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/IndexedBlockingQueue.java
index 6fdcbb03920..d219571b44c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/IndexedBlockingQueue.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/IndexedBlockingQueue.java
@@ -104,6 +104,7 @@ public abstract class IndexedBlockingQueue<E extends IDIndexedAccessible> {
       return null;
     }
     size--;
+    Preconditions.checkState(size >= 0, "The size of readyQueue cannot be negative.");
     return output;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/multilevelqueue/MultilevelPriorityQueue.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/multilevelqueue/MultilevelPriorityQueue.java
index 2c5bc41fa17..529dd95cfb5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/multilevelqueue/MultilevelPriorityQueue.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/schedule/queue/multilevelqueue/MultilevelPriorityQueue.java
@@ -157,10 +157,10 @@ public class MultilevelPriorityQueue extends IndexedBlockingReserveQueue<DriverT
     checkArgument(driverTask != null, "driverTask is null");
     for (PriorityQueue<DriverTask> level : levelWaitingSplits) {
       if (level.remove(driverTask)) {
-        break;
+        return driverTask;
       }
     }
-    return driverTask;
+    return null;
   }
 
   @Override