Pavel Pereslegin created IGNITE-24968: -----------------------------------------
Summary: Sql. Fix flaky test ItSqlClientAsynchronousApiTest.cancelQueryDuringExecution Key: IGNITE-24968 URL: https://issues.apache.org/jira/browse/IGNITE-24968 Project: Ignite Issue Type: Bug Components: sql Reporter: Pavel Pereslegin ItSqlClientAsynchronousApiTest.cancelQueryDuringExecution test has flaky failures on TeamCity: https://ci.ignite.apache.org/project.html?projectId=ApacheIgnite3xGradle_Test_IntegrationTests&buildTypeId=&tab=testDetails&testNameId=-5451701318733870746&order=TEST_STATUS_DESC&branch_ApacheIgnite3xGradle_Test_IntegrationTests=__all_branches__&itemsCount=50 {noformat} java.util.concurrent.TimeoutException: cancelQueryDuringExecution() timed out after 10 minutes at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Suppressed: org.opentest4j.AssertionFailedError: Unexpected exception type thrown, expected: <org.apache.ignite.sql.SqlException> but was: <java.lang.InterruptedException> at app//org.apache.ignite.internal.sql.engine.util.SqlTestUtils.assertThrowsSqlException(SqlTestUtils.java:161) at app//org.apache.ignite.internal.sql.engine.util.SqlTestUtils.assertThrowsSqlException(SqlTestUtils.java:143) at app//org.apache.ignite.internal.sql.engine.util.SqlTestUtils.expectQueryCancelled(SqlTestUtils.java:570) at app//org.apache.ignite.internal.sql.api.ItSqlApiBaseTest.cancelQueryDuringExecution(ItSqlApiBaseTest.java:1309) at java.base@21.0.1/java.lang.reflect.Method.invoke(Method.java:580) ... 2 more Caused by: java.lang.InterruptedException at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) at org.apache.ignite.internal.util.IgniteUtils.getInterruptibly(IgniteUtils.java:820) at org.apache.ignite.internal.sql.SyncResultSetAdapter.sync(SyncResultSetAdapter.java:84) at org.apache.ignite.internal.sql.SyncResultSetAdapter$IteratorImpl.hasNext(SyncResultSetAdapter.java:125) at org.apache.ignite.internal.sql.SyncResultSetAdapter.hasNext(SyncResultSetAdapter.java:94) at org.apache.ignite.internal.sql.api.ItSqlApiBaseTest.lambda$cancelQueryDuringExecution$45(ItSqlApiBaseTest.java:1310) ... 7 more Suppressed: org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a Lambda expression in org.apache.ignite.internal.sql.api.ItSqlClientAsynchronousApiTest Expected: is <0> but: was <1> within 10 seconds. at app//org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31) at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160) at app//org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:790) at app//org.apache.ignite.internal.sql.api.ItSqlClientAsynchronousApiTest.checkResourceCleanup(ItSqlClientAsynchronousApiTest.java:54) at java.base@21.0.1/java.lang.reflect.Method.invoke(Method.java:580) ... 2 more Caused by: java.lang.AssertionError: Expected: is <0> but: was <1> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6) at org.apache.ignite.internal.sql.api.ItSqlClientAsynchronousApiTest.lambda$checkResourceCleanup$0(ItSqlClientAsynchronousApiTest.java:54) at org.awaitility.core.AssertionCondition.lambda$new$0(AssertionCondition.java:53) at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:248) at org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:235) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) {noformat} It seems that in some cases canceling a query from a thin client doesn't work. The consequence of the fact that the test failed to kill the query is the failure of the remaining tests in this suite (the resource was not cleared on the server). {noformat} ItSqlClientAsynchronousApiTest.cancelStatement ItSqlClientAsynchronousApiTest.pageSequence ItSqlClientAsynchronousApiTest.cancelQueryString {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)