Andrey Khitrin created IGNITE-23670:
---------------------------------------

             Summary: "doWithRetry failed without exception" when calling 
Ignite.clusterNodes()
                 Key: IGNITE-23670
                 URL: https://issues.apache.org/jira/browse/IGNITE-23670
             Project: Ignite
          Issue Type: Bug
          Components: thin client
    Affects Versions: 3.0
         Environment: 1. 3 server nodes in a single cluster
2. 2-3 client nodes
3. Some data loaded before this request
4. Some transactional work with previously loaded data
            Reporter: Andrey Khitrin


In a routine cluster test on commit `48de8ec84f4ec0acc10bf34d9f59565191f6c85c`, 
the following stack trace happened:
{code:java}
org.apache.ignite.lang.IgniteException: doWithRetry failed without exception
        at 
org.apache.ignite.internal.util.ViewUtils.ensurePublicException(ViewUtils.java:80)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at org.apache.ignite.internal.util.ViewUtils.sync(ViewUtils.java:54) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.TcpIgniteClient.clusterNodes(TcpIgniteClient.java:190)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.gridgain.poc.framework.worker.ignite3.task.RestartServerTask.nodesToStop(RestartServerTask.java:238)
 ~[poc-tester-ignite3-0.5.0-SNAPSHOT.jar:?]
        at 
org.gridgain.poc.framework.worker.ignite3.task.RestartServerTask.body0(RestartServerTask.java:112)
 ~[poc-tester-ignite3-0.5.0-SNAPSHOT.jar:?]
        at 
org.gridgain.poc.framework.worker.ignite3.task.AbstractTask.body(AbstractTask.java:352)
 ~[poc-tester-ignite3-0.5.0-SNAPSHOT.jar:?]
        at 
org.gridgain.poc.framework.worker.task.TaskLooper.run(TaskLooper.java:78) 
[poc-tester-core-0.5.0-SNAPSHOT.jar:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: org.apache.ignite.lang.IgniteException: doWithRetry failed without 
exception
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.lambda$mapToPublicException$2(IgniteExceptionMapperUtil.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapCheckingResultIsPublic(IgniteExceptionMapperUtil.java:141)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:137)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.util.ViewUtils.ensurePublicException(ViewUtils.java:78)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
        ... 7 more
Caused by: java.lang.IllegalStateException: doWithRetry failed without exception
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:78)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.lambda$doWithRetryAsync$0(ClientFutureUtils.java:74)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
        at 
java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2251)
 ~[?:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:45)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ReliableChannel.getDefaultChannelAsync(ReliableChannel.java:565)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ReliableChannel.getChannelAsync(ReliableChannel.java:319)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ReliableChannel.lambda$serviceAsync$2(ReliableChannel.java:247)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:56)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ClientFutureUtils.doWithRetryAsync(ClientFutureUtils.java:45)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ReliableChannel.serviceAsync(ReliableChannel.java:246)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.ReliableChannel.serviceAsync(ReliableChannel.java:279)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        at 
org.apache.ignite.internal.client.TcpIgniteClient.clusterNodesAsync(TcpIgniteClient.java:196)
 ~[ignite-client-3.0.0-SNAPSHOT.jar:?]
        ... 6 more
{code}
It's double suspicious because there's a following comment in the code:
{code:java}
if (ctx.errors == null || ctx.errors.isEmpty()) {
    // Should not happen.
    resFut.completeExceptionally(new IllegalStateException("doWithRetry failed 
without exception"));
{code}
Nevertheless, it happened.



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

Reply via email to