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

korlov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 726cc1c2ab IGNITE-23682 Sql. Avoid unnecessary task scheduling for 
simple plan (#4831)
726cc1c2ab is described below

commit 726cc1c2abc773834e3f57ac77548f63520c8091
Author: korlov42 <[email protected]>
AuthorDate: Thu Dec 5 12:48:26 2024 +0200

    IGNITE-23682 Sql. Avoid unnecessary task scheduling for simple plan (#4831)
---
 .../apache/ignite/internal/sql/engine/prepare/KeyValueGetPlan.java   | 4 +---
 .../ignite/internal/sql/engine/prepare/KeyValueModifyPlan.java       | 5 +----
 .../apache/ignite/internal/sql/engine/prepare/SelectCountPlan.java   | 4 +---
 3 files changed, 3 insertions(+), 10 deletions(-)

diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueGetPlan.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueGetPlan.java
index 42eff2814f..1c7f95238a 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueGetPlan.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueGetPlan.java
@@ -200,9 +200,7 @@ public class KeyValueGetPlan implements ExplainablePlan, 
ExecutablePlan {
                 });
 
         if (firstPageReadyCallback != null) {
-            Executor executor = task -> ctx.execute(task::run, 
firstPageReadyCallback::onPrefetchComplete);
-
-            result.whenCompleteAsync((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err), executor);
+            result.whenComplete((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err));
         }
 
         ctx.scheduleTimeout(result);
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueModifyPlan.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueModifyPlan.java
index 0c647a0549..e2dd818b30 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueModifyPlan.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/KeyValueModifyPlan.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.sql.engine.prepare;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
 import java.util.function.Supplier;
 import org.apache.calcite.plan.RelOptUtil;
 import org.apache.calcite.rex.RexNode;
@@ -136,9 +135,7 @@ public class KeyValueModifyPlan implements ExplainablePlan, 
ExecutablePlan {
                 });
 
         if (firstPageReadyCallback != null) {
-            Executor executor = task -> ctx.execute(task::run, 
firstPageReadyCallback::onPrefetchComplete);
-
-            result.whenCompleteAsync((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err), executor);
+            result.whenComplete((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err));
         }
 
         ctx.scheduleTimeout(result);
diff --git 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/SelectCountPlan.java
 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/SelectCountPlan.java
index a349acd73f..266f9ad59b 100644
--- 
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/SelectCountPlan.java
+++ 
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/prepare/SelectCountPlan.java
@@ -116,9 +116,7 @@ public class SelectCountPlan implements ExplainablePlan, 
ExecutablePlan {
         }, resultExecutor);
 
         if (firstPageReadyCallback != null) {
-            Executor executor = task -> ctx.execute(task::run, 
firstPageReadyCallback::onPrefetchComplete);
-
-            result.whenCompleteAsync((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err), executor);
+            result.whenComplete((res, err) -> 
firstPageReadyCallback.onPrefetchComplete(err));
         }
 
         ctx.scheduleTimeout(result);

Reply via email to