[ 
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 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}

  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 100% 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 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}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to