You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/11/24 08:31:02 UTC
[05/11] ignite git commit: IGNITE-6985 Wrong value of
RebalancingStartTime cache metric
IGNITE-6985 Wrong value of RebalancingStartTime cache metric
Signed-off-by: Anton Vinogradov <av...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a4c6e09
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a4c6e09
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a4c6e09
Branch: refs/heads/ignite-zk
Commit: 5a4c6e097726be9feb994f95d42ecff45339d7f3
Parents: ed1ff82
Author: Aleksey Plekhanov <Pl...@gmail.com>
Authored: Thu Nov 23 16:54:01 2017 +0300
Committer: Anton Vinogradov <av...@apache.org>
Committed: Thu Nov 23 16:54:01 2017 +0300
----------------------------------------------------------------------
.../processors/cache/CacheMetricsImpl.java | 2 +-
.../cache/CacheGroupsMetricsRebalanceTest.java | 44 +++++++++++++++++++-
2 files changed, 44 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a4c6e09/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java
index c98d51f..4e6b279 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheMetricsImpl.java
@@ -803,7 +803,7 @@ public class CacheMetricsImpl implements CacheMetrics {
*
*/
public void startRebalance(long delay){
- rebalanceStartTime.addAndGet(delay + U.currentTimeMillis());
+ rebalanceStartTime.set(delay + U.currentTimeMillis());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/5a4c6e09/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupsMetricsRebalanceTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupsMetricsRebalanceTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupsMetricsRebalanceTest.java
index eb7c3a8..89c8236 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupsMetricsRebalanceTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheGroupsMetricsRebalanceTest.java
@@ -57,6 +57,12 @@ public class CacheGroupsMetricsRebalanceTest extends GridCommonAbstractTest {
private static final String CACHE2 = "cache2";
/** */
+ private static final String CACHE3 = "cache3";
+
+ /** */
+ private static final long REBALANCE_DELAY = 5_000;
+
+ /** */
private static final String GROUP = "group1";
/** {@inheritDoc} */
@@ -90,7 +96,16 @@ public class CacheGroupsMetricsRebalanceTest extends GridCommonAbstractTest {
CacheConfiguration cfg2 = new CacheConfiguration(cfg1)
.setName(CACHE2);
- cfg.setCacheConfiguration(cfg1, cfg2);
+ CacheConfiguration cfg3 = new CacheConfiguration()
+ .setName(CACHE3)
+ .setCacheMode(CacheMode.PARTITIONED)
+ .setAtomicityMode(CacheAtomicityMode.ATOMIC)
+ .setRebalanceMode(CacheRebalanceMode.ASYNC)
+ .setRebalanceBatchSize(100)
+ .setStatisticsEnabled(true)
+ .setRebalanceDelay(REBALANCE_DELAY);
+
+ cfg.setCacheConfiguration(cfg1, cfg2, cfg3);
return cfg;
}
@@ -199,6 +214,7 @@ public class CacheGroupsMetricsRebalanceTest extends GridCommonAbstractTest {
assertTrue(startTime > 0);
assertTrue((U.currentTimeMillis() - startTime) < 5000);
+ assertTrue((U.currentTimeMillis() - startTime) > 0);
final CountDownLatch latch = new CountDownLatch(1);
@@ -260,4 +276,30 @@ public class CacheGroupsMetricsRebalanceTest extends GridCommonAbstractTest {
assertTrue("Expected less 5000, Actual:" + diff, Math.abs(diff) < 10_000);
}
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testRebalanceDelay() throws Exception {
+ Ignite ig1 = startGrid(1);
+
+ final IgniteCache<Object, Object> cache = ig1.cache(CACHE3);
+
+ for (int i = 0; i < 10000; i++)
+ cache.put(i, CACHE3 + "-" + i);
+
+ long beforeStartTime = U.currentTimeMillis();
+
+ startGrid(2);
+ startGrid(3);
+
+ waitForCondition(new PA() {
+ @Override public boolean apply() {
+ return cache.localMetrics().getRebalancingStartTime() != -1L;
+ }
+ }, 5_000);
+
+ assert(cache.localMetrics().getRebalancingStartTime() < U.currentTimeMillis() + REBALANCE_DELAY);
+ assert(cache.localMetrics().getRebalancingStartTime() > beforeStartTime + REBALANCE_DELAY);
+ }
}