This is an automated email from the ASF dual-hosted git repository.
namelchev pushed a commit to branch ignite-2.12
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/ignite-2.12 by this push:
new fb75233 IGNITE-15666 The remove metric value is different for sync
and async methods (#9494)
fb75233 is described below
commit fb752331804d415db19e7937415a043f9a338aa6
Author: Nikita Amelchev <[email protected]>
AuthorDate: Fri Oct 15 17:26:21 2021 +0300
IGNITE-15666 The remove metric value is different for sync and async
methods (#9494)
(cherry picked from commit 73a687d815a379bf53a3c528a01381089eba003c)
---
.../processors/cache/GridCacheAdapter.java | 2 +-
.../cache/GridCacheAbstractMetricsSelfTest.java | 37 ++++++++++++++++++++++
2 files changed, 38 insertions(+), 1 deletion(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 5a6bc97..662b9ab 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -3373,7 +3373,7 @@ public abstract class GridCacheAdapter<K, V> implements
IgniteInternalCache<K, V
boolean rmv = remove0(key, filter);
- if (statsEnabled && rmv)
+ if (statsEnabled)
metrics0().addRemoveTimeNanos(System.nanoTime() - start);
if (performanceStatsEnabled)
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
index caa0015..077b6a9 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractMetricsSelfTest.java
@@ -48,6 +48,7 @@ import org.apache.ignite.internal.util.lang.GridAbsPredicateX;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteFuture;
+import org.apache.ignite.spi.metric.LongMetric;
import org.apache.ignite.spi.metric.Metric;
import org.apache.ignite.transactions.Transaction;
import org.junit.Test;
@@ -1525,6 +1526,42 @@ public abstract class GridCacheAbstractMetricsSelfTest
extends GridCacheAbstract
assertTrue(waitForCondition(() -> stream(getAllTime.value()).sum() ==
2, getTestTimeout()));
}
+ /** */
+ @Test
+ public void testRemoveTimeTotal() throws Exception {
+ IgniteCache<Integer, Integer> cache =
grid(0).cache(DEFAULT_CACHE_NAME);
+
+ LongMetric removeTimeTotal = metric("RemoveTimeTotal");
+
+ assertEquals(0, removeTimeTotal.value());
+
+ // 1. Check remove of a non-existing key.
+ cache.remove(-1);
+
+ assertTrue(removeTimeTotal.value() > 0);
+
+ removeTimeTotal.reset();
+
+ cache.removeAsync(-1).get();
+
+ assertTrue(waitForCondition(() -> removeTimeTotal.value() > 0,
getTestTimeout()));
+
+ removeTimeTotal.reset();
+
+ // 2. Check remove of an existing key.
+ cache.put(1, 1);
+ cache.remove(1);
+
+ assertTrue(removeTimeTotal.value() > 0);
+
+ removeTimeTotal.reset();
+
+ cache.put(1, 1);
+ cache.removeAsync(1).get();
+
+ assertTrue(waitForCondition(() -> removeTimeTotal.value() > 0,
getTestTimeout()));
+ }
+
/**
* @param name Metric name to find.
* @return Metric.