[ https://issues.apache.org/jira/browse/IGNITE-20385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17773992#comment-17773992 ]
Yury Gerzhedovich commented on IGNITE-20385: -------------------------------------------- [~xtern]LGTM > Incorrect code INTERNAL_ERROR on node left > ------------------------------------------- > > Key: IGNITE-20385 > URL: https://issues.apache.org/jira/browse/IGNITE-20385 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Yury Gerzhedovich > Assignee: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > Time Spent: 1h > Remaining Estimate: 0h > > During execute SQL query we could got Exception with INTERNAL_ERR in case > remote node left. Node left sholdn't be interpret as INTERNAL ERROR, due to > it's normal situation and user can be informed about it. > Let's map the situation to SqlException with code NODE_LEFT_ERR. > Also need to check wich similar situation we could cover here. > As start point need to find all places where used > ExceptionUtils.withCauseAndCode method > {code:java} > org.apache.ignite.lang.IgniteException: IGN-CMN-65535 > TraceId:6a9a41f8-a6f4-44f1-87b0-4516c514d1df Unable to send fragment > [targetNode=idt_n_1, fragmentId=1, cause=Node left the cluster. Node: idt_n_1] > at > org.apache.ignite.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:106) > at > org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.wrapIfNecessary(AsyncSqlCursorImpl.java:100) > at > org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.lambda$requestNextAsync$0(AsyncSqlCursorImpl.java:76) > at > java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) > at > java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) > at > java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$15(ExecutionServiceImpl.java:747) > at > java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) > at > java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) > at > java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$17(ExecutionServiceImpl.java:726) > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > at > java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837) > at > java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) > at > org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:81) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:834) > Suppressed: java.lang.RuntimeException: This is a trimmed root > ... > Caused by: org.apache.ignite.lang.IgniteInternalException: IGN-CMN-65535 > TraceId:6a9a41f8-a6f4-44f1-87b0-4516c514d1df Unable to send fragment > [targetNode=idt_n_1, fragmentId=1, cause=Node left the cluster. Node: idt_n_1] > at > org.apache.ignite.internal.util.ExceptionUtils.lambda$withCauseAndCode$3(ExceptionUtils.java:440) > at > org.apache.ignite.internal.util.ExceptionUtils.withCauseInternal(ExceptionUtils.java:467) > at > org.apache.ignite.internal.util.ExceptionUtils.withCauseAndCode(ExceptionUtils.java:440) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$12(ExecutionServiceImpl.java:714) > at > java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) > at > java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) > at > java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$17(ExecutionServiceImpl.java:698) > ... 7 more > Caused by: org.apache.ignite.internal.sql.engine.NodeLeftException: IGN-CMN-5 > TraceId:bf122f9c-e697-4dfa-b59f-0692595fa94c Node left the cluster. Node: > idt_n_1 > at > org.apache.ignite.internal.sql.engine.message.MessageServiceImpl.send(MessageServiceImpl.java:92) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.sendFragment(ExecutionServiceImpl.java:505) > at > org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$execute$17(ExecutionServiceImpl.java:695) > ... 7 more > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)