[
https://issues.apache.org/jira/browse/IGNITE-27102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-27102:
--------------------------------------
Description:
It seems that after canceling a DDL script, the child queries do not terminate.
Reproducer (for {{ItSqlAsynchronousApiTest}}).
{code:java}
@Test
public void cancelDdlScript() {
IgniteSql sql = igniteSql();
sql("CREATE TABLE test (id INT PRIMARY KEY);");
String script =
"CREATE TABLE test1 (id INT PRIMARY KEY);"
+ "CREATE TABLE test2 (id INT PRIMARY KEY);"
+ "CREATE TABLE test3 (id INT PRIMARY KEY);";
CancelHandle cancelHandle = CancelHandle.create();
CancellationToken token = cancelHandle.token();
CompletableFuture<Void> scriptFut = IgniteTestUtils.runAsync(() ->
executeScript(sql, token, script));
waitUntilRunningQueriesCount(greaterThan(0));
cancelHandle.cancel();
expectQueryCancelled(() -> await(scriptFut));
waitUntilRunningQueriesCount(is(0)); // expected 0 but was 3
}
{code}
Locally this test fails with
{noformat}
Expected :is <0>
Actual :<3> within 10 seconds.
{noformat}
was:
It seems that after canceling the DDL script, the child queries do not
terminate.
Reproducer (for {{ItSqlAsynchronousApiTest}}).
{code:java}
@Test
public void cancelDdlScript() {
IgniteSql sql = igniteSql();
sql("CREATE TABLE test (id INT PRIMARY KEY);");
String script =
"CREATE TABLE test1 (id INT PRIMARY KEY);"
+ "CREATE TABLE test2 (id INT PRIMARY KEY);"
+ "CREATE TABLE test3 (id INT PRIMARY KEY);";
CancelHandle cancelHandle = CancelHandle.create();
CancellationToken token = cancelHandle.token();
CompletableFuture<Void> scriptFut = IgniteTestUtils.runAsync(() ->
executeScript(sql, token, script));
waitUntilRunningQueriesCount(greaterThan(0));
cancelHandle.cancel();
expectQueryCancelled(() -> await(scriptFut));
waitUntilRunningQueriesCount(is(0)); // expected 0 but was 3
}
{code}
Locally this test fails with
{noformat}
Expected :is <0>
Actual :<3> within 10 seconds.
{noformat}
> Sql. After canceling a DDL script, some queries remain unfinished
> -----------------------------------------------------------------
>
> Key: IGNITE-27102
> URL: https://issues.apache.org/jira/browse/IGNITE-27102
> Project: Ignite
> Issue Type: Bug
> Components: sql ai3
> Reporter: Pavel Pereslegin
> Priority: Major
> Labels: ignite-3
>
> It seems that after canceling a DDL script, the child queries do not
> terminate.
> Reproducer (for {{ItSqlAsynchronousApiTest}}).
> {code:java}
> @Test
> public void cancelDdlScript() {
> IgniteSql sql = igniteSql();
> sql("CREATE TABLE test (id INT PRIMARY KEY);");
> String script =
> "CREATE TABLE test1 (id INT PRIMARY KEY);"
> + "CREATE TABLE test2 (id INT PRIMARY KEY);"
> + "CREATE TABLE test3 (id INT PRIMARY KEY);";
> CancelHandle cancelHandle = CancelHandle.create();
> CancellationToken token = cancelHandle.token();
> CompletableFuture<Void> scriptFut = IgniteTestUtils.runAsync(() ->
> executeScript(sql, token, script));
> waitUntilRunningQueriesCount(greaterThan(0));
> cancelHandle.cancel();
> expectQueryCancelled(() -> await(scriptFut));
> waitUntilRunningQueriesCount(is(0)); // expected 0 but was 3
> }
> {code}
> Locally this test fails with
> {noformat}
> Expected :is <0>
> Actual :<3> within 10 seconds.
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)