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 cb9966e5cb IGNITE-20264 Sql. Races in 
BaseAggregateTest::countOfEmptyWithRewind (#2565)
cb9966e5cb is described below

commit cb9966e5cb3f787e07527ee59115afa8e4345549
Author: korlov42 <kor...@gridgain.com>
AuthorDate: Mon Sep 11 14:45:44 2023 +0300

    IGNITE-20264 Sql. Races in BaseAggregateTest::countOfEmptyWithRewind (#2565)
---
 .../sql/engine/exec/rel/BaseAggregateTest.java     | 63 +++++++---------------
 1 file changed, 18 insertions(+), 45 deletions(-)

diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/BaseAggregateTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/BaseAggregateTest.java
index 1e17615847..34deb2d214 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/BaseAggregateTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/BaseAggregateTest.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.sql.engine.exec.rel;
 
 import static 
org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause;
+import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
 import static org.apache.ignite.internal.util.ArrayUtils.asList;
 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -36,7 +37,6 @@ import java.util.stream.IntStream;
 import org.apache.calcite.rel.RelCollations;
 import org.apache.calcite.rel.core.AggregateCall;
 import org.apache.calcite.rel.type.RelDataType;
-import org.apache.calcite.sql.SqlAggFunction;
 import org.apache.calcite.sql.fun.SqlStdOperatorTable;
 import org.apache.calcite.util.ImmutableBitSet;
 import org.apache.calcite.util.ImmutableIntList;
@@ -53,14 +53,10 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.EnumSource;
 
 /**
- * BaseAggregateTest.
- * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
+ * A test class that defines basic test scenarios to verify the execution of 
each type of aggregate.
  */
+@SuppressWarnings("resource")
 public abstract class BaseAggregateTest extends AbstractExecutionTest {
-    /**
-     * Count.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void count(TestAggregateType testAgg) {
@@ -113,10 +109,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         assertFalse(root.hasNext());
     }
 
-    /**
-     * Min.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void min(TestAggregateType testAgg) {
@@ -135,8 +127,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 false,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                 null,
                 RelCollations.EMPTY,
                 tf.createJavaType(int.class),
                 null);
@@ -167,10 +161,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         assertFalse(root.hasNext());
     }
 
-    /**
-     * Max.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void max(TestAggregateType testAgg) {
@@ -189,8 +179,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 false,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                null,
                 RelCollations.EMPTY,
                 tf.createJavaType(int.class),
                 null);
@@ -221,10 +213,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         assertFalse(root.hasNext());
     }
 
-    /**
-     * Avg.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void avg(TestAggregateType testAgg) {
@@ -246,8 +234,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 false,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                null,
                 RelCollations.EMPTY,
                 tf.createJavaType(int.class),
                 null);
@@ -278,10 +268,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         assertFalse(root.hasNext());
     }
 
-    /**
-     * Single.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void single(TestAggregateType testAgg) {
@@ -346,8 +332,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 false,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                null,
                 RelCollations.EMPTY,
                 tf.createJavaType(Integer.class),
                 null);
@@ -386,10 +374,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         }
     }
 
-    /**
-     * Distinct sum.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void distinctSum(TestAggregateType testAgg) {
@@ -415,8 +399,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 true,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                null,
                 RelCollations.EMPTY,
                 tf.createJavaType(int.class),
                 null);
@@ -447,10 +433,6 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
         assertFalse(root.hasNext());
     }
 
-    /**
-     * SumOnDifferentRowsCount.
-     * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859
-     */
     @ParameterizedTest
     @EnumSource
     public void sumOnDifferentRowsCount(TestAggregateType testAgg) {
@@ -482,8 +464,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                         false,
                         false,
                         false,
+                        List.of(),
                         ImmutableIntList.of(1),
                         -1,
+                        null,
                         RelCollations.EMPTY,
                         tf.createJavaType(int.class),
                         null);
@@ -586,8 +570,10 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
                 false,
                 false,
                 false,
+                List.of(),
                 ImmutableIntList.of(1),
                 -1,
+                null,
                 RelCollations.EMPTY,
                 tf.createJavaType(BigDecimal.class),
                 null);
@@ -671,7 +657,7 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
             assertArrayEquals(row(0), root.next());
             assertFalse(root.hasNext());
 
-            aggChain.rewind();
+            await(ctx.submit(aggChain::rewind, root::onError));
         }
     }
 
@@ -732,17 +718,4 @@ public abstract class BaseAggregateTest extends 
AbstractExecutionTest {
 
         MAP_REDUCE
     }
-
-    protected AggregateCall newAggCall(SqlAggFunction func, int arg, 
RelDataType resultType) {
-        return AggregateCall.create(
-                func,
-                false,
-                false,
-                false,
-                ImmutableIntList.of(arg),
-                -1,
-                RelCollations.EMPTY,
-                resultType,
-                null);
-    }
 }

Reply via email to