You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ko...@apache.org on 2022/06/17 13:18:41 UTC

[ignite-3] branch main updated: IGNITE-17171 ItIndexSpoolTest fails when the number of rows is greater than 256 (#884)

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 efbb8d3a5 IGNITE-17171 ItIndexSpoolTest fails when the number of rows is greater than 256 (#884)
efbb8d3a5 is described below

commit efbb8d3a5a1b4bd60d90928f41486ff67dc3a064
Author: korlov42 <ko...@gridgain.com>
AuthorDate: Fri Jun 17 16:18:37 2022 +0300

    IGNITE-17171 ItIndexSpoolTest fails when the number of rows is greater than 256 (#884)
---
 .../ignite/internal/sql/engine/ItIndexSpoolTest.java       |  2 --
 .../ignite/internal/sql/engine/util/CursorUtils.java       | 14 +++++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
index c809e1237..2099baa6d 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/ItIndexSpoolTest.java
@@ -29,14 +29,12 @@ import org.apache.ignite.schema.definition.ColumnType;
 import org.apache.ignite.schema.definition.TableDefinition;
 import org.apache.ignite.table.Table;
 import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 
 /**
  * Index spool test.
  */
-@Disabled("https://issues.apache.org/jira/browse/IGNITE-15655")
 public class ItIndexSpoolTest extends AbstractBasicIntegrationTest {
     private static final IgniteLogger LOG = IgniteLogger.forClass(AbstractBasicIntegrationTest.class);
 
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/util/CursorUtils.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/util/CursorUtils.java
index 7f32222bf..d89d852a0 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/util/CursorUtils.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/engine/util/CursorUtils.java
@@ -21,7 +21,9 @@ import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.function.Consumer;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 import org.apache.ignite.internal.sql.engine.AsyncCursor;
@@ -52,18 +54,20 @@ public class CursorUtils {
         List<T> res = new ArrayList<>();
         int batchSize = 256;
 
-        var consumer = new Consumer<BatchedResult<T>>() {
+        var consumer = new Function<BatchedResult<T>, CompletionStage<BatchedResult<T>>>() {
             @Override
-            public void accept(BatchedResult<T> br) {
+            public CompletionStage<BatchedResult<T>> apply(BatchedResult<T> br) {
                 res.addAll(br.items());
 
                 if (br.hasMore()) {
-                    cur.requestNextAsync(batchSize).thenAccept(this);
+                    return cur.requestNextAsync(batchSize).thenCompose(this);
                 }
+
+                return CompletableFuture.completedFuture(br);
             }
         };
 
-        await(cur.requestNextAsync(batchSize).thenAccept(consumer));
+        await(cur.requestNextAsync(batchSize).thenCompose(consumer));
         await(cur.closeAsync());
 
         return res;