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 <ilya.kasnach...@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());