IGNITE-3748 Data rebalancing of large cache can hang out.
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index d7dc7d1..ac9a4ae 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -773,12 +773,17 @@
                                     part.tryEvict();
                                 }
                                 catch (Throwable ex) {
-                                    if (!cctx.kernalContext().isStopping())
-                                        LT.error(log, ex, "Partition eviction failed, this can cause grid hang.");
-                                    else
+                                    if (cctx.kernalContext().isStopping()) {
                                         LT.warn(log, ex, "Partition eviction failed (current node is stopping).",
                                             false,
                                             true);
+
+                                        partsToEvict.clear();
+
+                                        return true;
+                                    }
+                                    else
+                                        LT.error(log, ex, "Partition eviction failed, this can cause grid hang.");
                                 }
                         }
                         finally {