You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by il...@apache.org on 2021/03/19 11:37:02 UTC

[ignite] branch master updated: IGNITE-13878 Fixed Allocated RAM metric for IM region on persistent node.

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

ilyak 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 4723bd6  IGNITE-13878 Fixed Allocated RAM metric for IM region on persistent node.
4723bd6 is described below

commit 4723bd6b1a0bbcd481d623c8907ae09ea2495aa1
Author: Ilya Kasnacheev <il...@gmail.com>
AuthorDate: Mon Dec 21 13:26:46 2020 +0300

    IGNITE-13878 Fixed Allocated RAM metric for IM region on persistent node.
---
 .../persistence/GridCacheDatabaseSharedManager.java     |  4 ++--
 .../persistence/IgniteCacheDatabaseSharedManager.java   |  2 +-
 .../ignite/internal/GridNodeMetricsLogPdsSelfTest.java  | 11 +++++++----
 .../ignite/internal/GridNodeMetricsLogSelfTest.java     | 17 +++++++++++------
 4 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
index d61a849..fe63918 100755
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
@@ -1212,7 +1212,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
             changeTracker = null;
 
         PageMemoryImpl pageMem = new PageMemoryImpl(
-            wrapMetricsMemoryProvider(memProvider, memMetrics),
+            wrapMetricsPersistentMemoryProvider(memProvider, memMetrics),
             calculateFragmentSizes(
                 memCfg.getConcurrencyLevel(),
                 cacheSize,
@@ -1253,7 +1253,7 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
      * @param memMetrics Memory metrics.
      * @return Wrapped memory provider.
      */
-    @Override protected DirectMemoryProvider wrapMetricsMemoryProvider(
+    private DirectMemoryProvider wrapMetricsPersistentMemoryProvider(
         final DirectMemoryProvider memoryProvider0,
         final DataRegionMetricsImpl memMetrics
     ) {
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
index 6de343d..207ef8c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java
@@ -1378,7 +1378,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
      * @param memMetrics Memory metrics.
      * @return Wrapped memory provider.
      */
-    protected DirectMemoryProvider wrapMetricsMemoryProvider(
+    private DirectMemoryProvider wrapMetricsMemoryProvider(
         final DirectMemoryProvider memoryProvider0,
         final DataRegionMetricsImpl memMetrics
     ) {
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogPdsSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogPdsSelfTest.java
index ac9e4c4..0910b10 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogPdsSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogPdsSelfTest.java
@@ -31,10 +31,13 @@ public class GridNodeMetricsLogPdsSelfTest extends GridNodeMetricsLogSelfTest {
         IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
 
         DataStorageConfiguration memCfg = new DataStorageConfiguration()
-            .setDefaultDataRegionConfiguration(
-                new DataRegionConfiguration()
-                    .setMaxSize(30 * 1024 * 1024)
-                    .setPersistenceEnabled(true))
+            .setDefaultDataRegionConfiguration(new DataRegionConfiguration()
+                .setMaxSize(30 * 1024 * 1024)
+                .setPersistenceEnabled(true))
+            .setDataRegionConfigurations(new DataRegionConfiguration()
+                .setName(IN_MEMORY_REGION)
+                .setMaxSize(20 * 1024 * 1024)
+                .setPersistenceEnabled(false))
             .setWalMode(WALMode.LOG_ONLY);
 
         cfg.setDataStorageConfiguration(memCfg);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogSelfTest.java
index 57a1599..ce1943b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/GridNodeMetricsLogSelfTest.java
@@ -23,9 +23,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import org.apache.ignite.IgniteCache;
+import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.ExecutorConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor;
 import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.testframework.GridStringLogger;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
@@ -45,6 +45,9 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
     private static final String CUSTOM_EXECUTOR_1 = "Custom executor 1";
 
     /** */
+    public static final String IN_MEMORY_REGION = "userTransientDataRegion";
+
+    /** */
     private GridStringLogger strLog = new GridStringLogger(false, this.log);
 
     /** {@inheritDoc} */
@@ -81,7 +84,9 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
     @Test
     public void testNodeMetricsLog() throws Exception {
         IgniteCache<Integer, String> cache1 = grid(0).createCache("TestCache1");
-        IgniteCache<Integer, String> cache2 = grid(1).createCache("TestCache2");
+        IgniteCache<Integer, String> cache2 = grid(1).createCache(
+            new CacheConfiguration<Integer, String>("TestCache2")
+            .setDataRegionName(persistenceEnabled() ? IN_MEMORY_REGION : "default"));
 
         cache1.put(1, "one");
         cache2.put(2, "two");
@@ -136,8 +141,8 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
     protected void checkDataRegionsMetrics(String logOutput) {
         Set<String> regions = new HashSet<>();
 
-        Matcher matcher = Pattern.compile("(?m).{2,} {3}(?<name>.+) region \\[type=(default|internal), " +
-                "persistence=(true|false), lazyAlloc=(true|false),\\s*\\.\\.\\.\\s*" +
+        Matcher matcher = Pattern.compile("(?m).{2,} {3}(?<name>.+) region \\[type=(default|internal|user), " +
+                "persistence=(?<persistent>true|false), lazyAlloc=(true|false),\\s*\\.\\.\\.\\s*" +
                 "initCfg=(?<init>[-\\d]+)MB, maxCfg=(?<max>[-\\d]+)MB, usedRam=(?<used>[-\\d]+).*MB, " +
                 "freeRam=(?<free>[-.\\d]+)%, allocRam=(?<alloc>[-\\d]+)MB(, allocTotal=(?<total>[-\\d]+)MB)?]")
             .matcher(logOutput);
@@ -150,6 +155,7 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
             int used = Integer.parseInt(matcher.group("used"));
             double free = Double.parseDouble(matcher.group("free"));
             int alloc = Integer.parseInt(matcher.group("alloc"));
+            boolean persistent = Boolean.parseBoolean(matcher.group("persistent"));
 
             assertTrue(init + " should be non negative: " + subj, init >= 0);
             assertTrue(max + " is less then " + init + ": " + subj, max >= init);
@@ -157,7 +163,7 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
             assertTrue(alloc + " is less then " + used + ": " + subj, alloc >= used);
             assertTrue(free + " is not between 0 and 100: " + subj, 0 <= free && free <= 100);
 
-            if (persistenceEnabled()) {
+            if (persistent) {
                 int total = Integer.parseInt(matcher.group("total"));
 
                 assertTrue(total + " is less then " + used + ": " + subj, total >= used);
@@ -171,7 +177,6 @@ public class GridNodeMetricsLogSelfTest extends GridCommonAbstractTest {
 
         Set<String> expRegions = grid(0).context().cache().context().database().dataRegions().stream()
             .map(v -> v.config().getName().trim())
-            .filter(regName -> !DataStructuresProcessor.VOLATILE_DATA_REGION_NAME.equals(regName))
             .collect(Collectors.toSet());
 
         assertFalse("No data regions in the log.", regions.isEmpty());