You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ir...@apache.org on 2018/10/16 15:24:16 UTC

ignite git commit: IGNITE-9430 Add ability to override all caches's "rebalanceThrottle" option via JVM node option - Fixes #4944.

Repository: ignite
Updated Branches:
  refs/heads/master a6741cf00 -> 1db895545


IGNITE-9430 Add ability to override all caches's "rebalanceThrottle" option via JVM node option - Fixes #4944.

Signed-off-by: Ivan Rakov <ir...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1db89554
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1db89554
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1db89554

Branch: refs/heads/master
Commit: 1db895545b303b8945b9b8ade237e17ccd434f5c
Parents: a6741cf
Author: macrergate <ma...@gmail.com>
Authored: Tue Oct 16 18:17:10 2018 +0300
Committer: Ivan Rakov <ir...@apache.org>
Committed: Tue Oct 16 18:17:10 2018 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/IgniteSystemProperties.java |  6 ++++++
 .../dht/preloader/GridDhtPartitionSupplier.java        | 13 ++++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1db89554/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index 81b767f..6d48adf 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -1008,6 +1008,12 @@ public final class IgniteSystemProperties {
     public static final String IGNITE_REUSE_MEMORY_ON_DEACTIVATE = "IGNITE_REUSE_MEMORY_ON_DEACTIVATE";
 
     /**
+     * System property to override {@link CacheConfiguration#rebalanceThrottle} configuration property for all caches.
+     * {@code 0} by default, which means that override is disabled.
+     */
+    public static final String IGNITE_REBALANCE_THROTTLE_OVERRIDE = "IGNITE_REBALANCE_THROTTLE_OVERRIDE";
+
+    /**
      * Enforces singleton.
      */
     private IgniteSystemProperties() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/1db89554/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
index 835910e..9254766 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionSupplier.java
@@ -27,6 +27,7 @@ import java.util.UUID;
 import java.util.stream.Collectors;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.IgniteSystemProperties;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
@@ -45,6 +46,7 @@ import org.apache.ignite.internal.processors.cache.mvcc.txlog.TxState;
 import org.apache.ignite.internal.processors.cache.persistence.CacheDataRow;
 import org.apache.ignite.internal.util.tostring.GridToStringExclude;
 import org.apache.ignite.internal.util.typedef.T3;
+import org.apache.ignite.internal.util.typedef.internal.LT;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.lang.IgnitePredicate;
@@ -71,6 +73,10 @@ class GridDhtPartitionSupplier {
     /** Supply context map. T3: nodeId, topicId, topVer. */
     private final Map<T3<UUID, Integer, AffinityTopologyVersion>, SupplyContext> scMap = new HashMap<>();
 
+    /** Override for rebalance throttle. */
+    private long rebalanceThrottleOverride =
+        IgniteSystemProperties.getLong(IgniteSystemProperties.IGNITE_REBALANCE_THROTTLE_OVERRIDE, 0);
+
     /**
      * @param grp Cache group.
      */
@@ -82,6 +88,9 @@ class GridDhtPartitionSupplier {
         log = grp.shared().logger(getClass());
 
         top = grp.topology();
+
+        if (rebalanceThrottleOverride > 0)
+            LT.info(log, "Using rebalance throttle override: " + rebalanceThrottleOverride);
     }
 
     /**
@@ -511,7 +520,9 @@ class GridDhtPartitionSupplier {
             grp.shared().io().sendOrderedMessage(demander, demandMsg.topic(), supplyMsg, grp.ioPolicy(), demandMsg.timeout());
 
             // Throttle preloading.
-            if (grp.config().getRebalanceThrottle() > 0)
+            if (rebalanceThrottleOverride > 0)
+                U.sleep(rebalanceThrottleOverride);
+            else if (grp.config().getRebalanceThrottle() > 0)
                 U.sleep(grp.config().getRebalanceThrottle());
 
             return true;