This is an automated email from the ASF dual-hosted git repository. zhihao pushed a commit to branch fix/szh/window_partition_bug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit d783034f5f06eb1ca1bbbbb9dbfcf3c21451a72b Author: Sh-Zh-7 <[email protected]> AuthorDate: Wed Nov 26 09:44:08 2025 +0800 Fix window function partition bug. --- .../execution/operator/process/window/TableWindowOperator.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperator.java index af46988c55e..f7d0bf3b61a 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperator.java @@ -294,6 +294,8 @@ public class TableWindowOperator implements ProcessOperator { partitionExecutors.addLast(partitionExecutor); partitionStartInCurrentBlock = partitionEndInCurrentBlock; + // Cross multiple TsBlock partition ends + startIndexInFirstBlock = -1; } else { // Last partition of TsBlock // The beginning of next TsBlock may have rows in this partition @@ -316,8 +318,7 @@ public class TableWindowOperator implements ProcessOperator { // Reset window functions for new partition partitionExecutor.resetWindowFunctions(); - while (System.nanoTime() - startTime < maxRuntime - && !tsBlockBuilder.isFull() + while (!tsBlockBuilder.isFull() && partitionExecutor.hasNext()) { partitionExecutor.processNextRow(tsBlockBuilder); }
