Vyacheslav Koptilin created IGNITE-11589: --------------------------------------------
Summary: GridDhtPartitionsExchangeFuture remained incompleted in some circumstances Key: IGNITE-11589 URL: https://issues.apache.org/jira/browse/IGNITE-11589 Project: Ignite Issue Type: Bug Affects Versions: 2.7 Reporter: Vyacheslav Koptilin Assignee: Vyacheslav Koptilin Fix For: 2.8 {{GridDhtPartitionsExchangeFuture#onDone}} contains a piece of code that should be executed before {{GridFutureAdapter#onDone}} is called and so, in case of an exception is thrown by that code, exchange future is not completed and, therefore, it may cause a deadlock. the following stack trace can be used as an example of that behavior: {noformat} [GridDhtPartitionsExchangeFuture] Failed to reinitialize local partitions (rebalancing will be stopped): GridDhtPartitionExchangeId [...msg=Node left: TcpDiscoveryNode [ ], type=NODE_LEFT] class org.apache.ignite.IgniteException: null at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.detectLostPartitions(GridDhtPartitionsExchangeFuture.java:3152) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onDone(GridDhtPartitionsExchangeFuture.java at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.finishExchangeOnCoordinator(GridDhtPartitionsExchangeFuture.java:3549) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onAllReceived(GridDhtPartitionsExchangeFuture.java:3301) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:1516) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:849) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2878) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2727) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:745) Caused by: class org.apache.ignite.internal.IgniteInterruptedCheckedException: null at org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10846) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.detectLostPartitions(GridDhtPartitionsExchangeFuture.java:3135) ... 9 more Caused by: java.lang.InterruptedException at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:404) at java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.ignite.internal.util.IgniteUtils$Batch.result(IgniteUtils.java:10947) at org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10836) ... 10 more{noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)