[ https://issues.apache.org/jira/browse/IGNITE-24968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17940879#comment-17940879 ]
Pavel Pereslegin edited comment on IGNITE-24968 at 4/4/25 6:16 AM: ------------------------------------------------------------------- [~korlov], [~mzhuravkov] please take a look at this small fix. was (Author: xtern): [~korlov], please take a look at this small fix. > 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 > Assignee: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > Fix For: 3.1 > > Time Spent: 10m > Remaining Estimate: 0h > > 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 (because 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)