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 {