You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by mm...@apache.org on 2021/08/10 11:44:04 UTC

[ignite] branch master updated: IGNITE-15208 Fix rebalance procedure if delay greater that zero (#9310)

This is an automated email from the ASF dual-hosted git repository.

mmuzaf pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 4703ec5  IGNITE-15208 Fix rebalance procedure if delay greater that zero (#9310)
4703ec5 is described below

commit 4703ec5d1980251545e0796aece2eeeef534a558
Author: Maxim Muzafarov <mm...@apache.org>
AuthorDate: Tue Aug 10 14:43:39 2021 +0300

    IGNITE-15208 Fix rebalance procedure if delay greater that zero (#9310)
---
 .../cache/distributed/dht/preloader/GridDhtPartitionDemander.java  | 4 +++-
 .../cache/distributed/dht/preloader/GridDhtPreloader.java          | 7 +++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index 574a303..12caefd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -347,7 +347,9 @@ public class GridDhtPartitionDemander {
 
         long delay = grp.config().getRebalanceDelay();
 
-        if ((delay == 0 || force) && assignments != null) {
+        if (delay == 0 || force) {
+            assert assignments != null;
+
             final RebalanceFuture oldFut = rebalanceFut;
 
             if (assignments.cancelled()) { // Pending exchange.
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 21f2652..9823d03 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
@@ -377,10 +377,13 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
     ) {
         long delay = grp.config().getRebalanceDelay();
         boolean forceRebalance = forcedRebFut != null;
+        GridDhtPreloaderAssignments assigns = null;
 
         // Don't delay for dummy reassigns to avoid infinite recursion.
-        return (delay == 0 || forceRebalance) ? demander.addAssignments(generateAssignments(exchId, exchFut), forceRebalance,
-            rebalanceId, next, forcedRebFut, compatibleRebFut) : null;
+        if (delay == 0 || forceRebalance)
+            assigns = generateAssignments(exchId, exchFut);
+
+        return demander.addAssignments(assigns, forceRebalance, rebalanceId, next, forcedRebFut, compatibleRebFut);
     }
 
     /**