[ https://issues.apache.org/jira/browse/IGNITE-17998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Pereslegin updated IGNITE-17998: -------------------------------------- Description: ItSqlAsynchronousApiTest#closeSession is unstable. {noformat} org.opentest4j.AssertionFailedError: Exception is neither of a specified class, nor has a cause of the specified class: class org.apache.ignite.sql.SqlException at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:43) at org.junit.jupiter.api.Assertions.fail(Assertions.java:146) at org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:284) at org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:264) at org.apache.ignite.internal.sql.api.ItSqlAsynchronousApiTest.closeSession(ItSqlAsynchronousApiTest.java:541) {noformat} h3. {*}UPDATE{*}: Since the test shows that the current behavior of "fetchNextPage" is unstable on a closed session, we decided to investigate other possible use-cases on a closed session. h4. The results are as follows: The behavior of the "execute*" session methods on a closed session is correct - we throw a SqlException with the message "Session is closed" for any local execution. Session return sync or async resultset. The "hasRowSet/affectedRows/wasApplied/metadata" methods are generic and give the expected results in a closed session with no errors. The results of the rest of the methods are presented in the following table. ||*ResultSet type*||*Method*||*Result*|| || || || ||*Data absent*||*Data present (pageSize=2)*|| |*{{sync}}*|*{{hasNext}}*|{{false}}|{{true}}| | |*next*|{{NoSuchElementException}}|{color:#676700}4 rows, then {{CursorClosedException}}{color}| | | | | | |*{{async}}*|*{{CurrentPage}} (hasNext)*|{{false}}|{{true}}| | |*{{currentPageSize}}*|0|2| | |*{{hasMorePages}}*|false|true| | |*{{fetchNextPage}}*|{{SqlException}} IGN-SQL-1 There are no more pages.|Expected: {{CursorClosedException}} {color:#aa1111}Currently: {{No exception}} or {{CursorClosedException}} or {{ExecutionCancelledException}}{color}| was: ItSqlAsynchronousApiTest#closeSession is unstable. {noformat} org.opentest4j.AssertionFailedError: Exception is neither of a specified class, nor has a cause of the specified class: class org.apache.ignite.sql.SqlException at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:43) at org.junit.jupiter.api.Assertions.fail(Assertions.java:146) at org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:284) at org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:264) at org.apache.ignite.internal.sql.api.ItSqlAsynchronousApiTest.closeSession(ItSqlAsynchronousApiTest.java:541) {noformat} h3. {*}UPDATE{*}: Since the test shows that the current behavior of "fetchNextPage" is unstable on a closed session, we decided to investigate other possible use-cases on a closed session. h4. The results are as follows: The behavior of the "execute*" session methods on a closed session is correct - we throw a SqlException with the message "Session is closed" for any local execution. Session return sync or async resultset. The "hasRowSet/affectedRows/wasApplied/metadata" methods are generic and give the expected results in a closed session with no errors. The results of the rest of the methods are presented in the following table. ||*ResultSet type*||*Method*||*Result*|| || || || ||*Data absent*||*Data present (pageSize=2)*|| |*{{sync}}*|*{{hasNext}}*|{{false}}|{{true}}| | |*next*|{{NoSuchElementException}}|{color:#676700}4 rows, then {{CursorClosedException}}{color}| | | | | | |*{{async}}*|*{{CurrentPage}} (hasNext)*|{{false}}|{{true}}| | |*{{currentPageSize}}*|0|2| | |*{{hasMorePages}}*|false|true| | |*{{fetchNextPage}}*|{{SqlException}} IGN-SQL-1 There are no more pages.|Expected: {{CursorClosedException}} {color:#aa1111}Currently: {{No exception}} or {{CursorClosedException}} or {{ExecutionCancelledException}}{color}| > ItSqlAsynchronousApiTest#closeSession is unstable. > -------------------------------------------------- > > Key: IGNITE-17998 > URL: https://issues.apache.org/jira/browse/IGNITE-17998 > Project: Ignite > Issue Type: Bug > Components: sql > Affects Versions: 3.0.0-alpha5 > Reporter: Evgeny Stanilovsky > Assignee: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > > ItSqlAsynchronousApiTest#closeSession is unstable. > {noformat} > org.opentest4j.AssertionFailedError: Exception is neither of a specified > class, nor has a cause of the specified class: class > org.apache.ignite.sql.SqlException > at org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:43) > at org.junit.jupiter.api.Assertions.fail(Assertions.java:146) > at > org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:284) > at > org.apache.ignite.internal.testframework.IgniteTestUtils.assertThrowsWithCause(IgniteTestUtils.java:264) > at > org.apache.ignite.internal.sql.api.ItSqlAsynchronousApiTest.closeSession(ItSqlAsynchronousApiTest.java:541) > {noformat} > h3. {*}UPDATE{*}: > Since the test shows that the current behavior of "fetchNextPage" is unstable > on a closed session, we decided to investigate other possible use-cases on a > closed session. > h4. The results are as follows: > The behavior of the "execute*" session methods on a closed session is correct > - we throw a SqlException with the message "Session is closed" for any local > execution. > Session return sync or async resultset. The > "hasRowSet/affectedRows/wasApplied/metadata" methods are generic and give the > expected results in a closed session with no errors. > The results of the rest of the methods are presented in the following table. > ||*ResultSet type*||*Method*||*Result*|| || > || || ||*Data absent*||*Data present (pageSize=2)*|| > |*{{sync}}*|*{{hasNext}}*|{{false}}|{{true}}| > | |*next*|{{NoSuchElementException}}|{color:#676700}4 rows, then > {{CursorClosedException}}{color}| > | | | | | > |*{{async}}*|*{{CurrentPage}} (hasNext)*|{{false}}|{{true}}| > | |*{{currentPageSize}}*|0|2| > | |*{{hasMorePages}}*|false|true| > | |*{{fetchNextPage}}*|{{SqlException}} IGN-SQL-1 There are no more > pages.|Expected: {{CursorClosedException}} > {color:#aa1111}Currently: {{No exception}} or {{CursorClosedException}} or > {{ExecutionCancelledException}}{color}| -- This message was sent by Atlassian Jira (v8.20.10#820010)