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());