[
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
> [email protected]/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
> [email protected]/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)