You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ignite.apache.org by "korlov42 (via GitHub)" <gi...@apache.org> on 2023/06/28 06:43:00 UTC

[GitHub] [ignite-3] korlov42 commented on a diff in pull request #2241: IGNITE-19730 Sql. ExecutionServiceImplTest different tests failed

korlov42 commented on code in PR #2241:
URL: https://github.com/apache/ignite-3/pull/2241#discussion_r1244714682


##########
modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItSqlAsynchronousApiTest.java:
##########
@@ -690,7 +689,7 @@ public void closeSession() {
 
         assertThrowsWithCause(
                 () -> await(ars0.fetchNextPage()),
-                ExecutionCancelledException.class
+                CursorClosedException.class

Review Comment:
   the same



##########
modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/StopCalciteModuleTest.java:
##########
@@ -284,7 +284,7 @@ public void testStopQueryOnNodeStop() throws Exception {
         await(request.exceptionally(t -> {
             assertInstanceOf(CompletionException.class, t);
             assertInstanceOf(IgniteException.class, t.getCause());
-            assertInstanceOf(ExecutionCancelledException.class, t.getCause().getCause());
+            assertInstanceOf(CursorClosedException.class, t.getCause().getCause());

Review Comment:
   and here



##########
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java:
##########
@@ -824,47 +824,62 @@ private void enlist(SourceAwareIgniteRel rel) {
             }.visit(fragment.root());
         }
 
-        private CompletableFuture<Void> close(boolean cancel) {
+        private CompletableFuture<Void> close() {
             if (!cancelled.compareAndSet(false, true)) {
-                return cancelFut.thenApply(Function.identity());
+                return cancelFut;
             }
 
-            CompletableFuture<Void> start = closeExecNode(cancel);
+            CompletableFuture<Void> start = closeExecNode();
 
             start
-                    .thenCompose(tmp -> {
-                        CompletableFuture<Void> cancelResult = coordinator
-                                ? awaitFragmentInitialisationAndClose()
-                                : closeLocalFragments();
-
-                        var finalStepFut = cancelResult.whenComplete((r, e) -> {
-                            queryManagerMap.remove(ctx.queryId());
-
-                            try {
-                                ctx.cancel().cancel();
-                            } catch (Exception ignored) {
-                                // NO-OP
-                            }
+            .thenCompose(tmp -> {

Review Comment:
   indentation 



##########
modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java:
##########
@@ -888,14 +903,6 @@ private CompletableFuture<Void> awaitFragmentInitialisationAndClose() {
 
                 cancelFuts.add(
                         CompletableFuture.allOf(entry.getValue().toArray(new CompletableFuture[0]))
-                                .handle((none2, t) -> {
-                                    // Some fragments may be completed exceptionally, and that is fine.
-                                    // Here we need to make sure that all query initialisation requests
-                                    // have been processed before sending a cancellation request. That's
-                                    // why we just ignore any exception.
-
-                                    return null;
-                                })

Review Comment:
   why did you remove this?



##########
modules/runner/src/integrationTest/java/org/apache/ignite/internal/sql/api/ItCommonApiTest.java:
##########
@@ -107,7 +105,7 @@ public void testSessionExpiration() throws Exception {
             while (rs1.hasNext()) {
                 rs1.next();
             }
-        }, ExecutionCancelledException.class);
+        }, CursorClosedException.class);

Review Comment:
   well, I think this change is not correct. In my opinion, we need to distinguish between cursor closed by users' intention and cursor closed by system intention



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@ignite.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org