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;