You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/27 08:05:41 UTC
[2/9] ignite git commit: IGNITE-5072 init/max memory size concept
applied to system MemoryPolicy; MemoryPolicy example was fixed
IGNITE-5072 init/max memory size concept applied to system MemoryPolicy; MemoryPolicy example was fixed
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/9816585a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/9816585a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/9816585a
Branch: refs/heads/ignite-5072-merge
Commit: 9816585a5c7c7fa00c5d04198a9998639c1836ba
Parents: cbb0380
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Apr 26 16:28:48 2017 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Apr 26 16:31:46 2017 +0300
----------------------------------------------------------------------
examples/config/example-memory-policies.xml | 14 +++--
.../java/org/apache/ignite/MemoryMetrics.java | 5 --
.../configuration/MemoryConfiguration.java | 55 +++++++++++++----
.../MemoryPolicyConfiguration.java | 9 +--
.../apache/ignite/internal/IgniteKernal.java | 2 +-
.../IgniteCacheDatabaseSharedManager.java | 65 +++++++++++++-------
.../cache/database/MemoryMetricsImpl.java | 5 --
.../cache/database/MemoryMetricsMXBeanImpl.java | 24 +++++++-
.../cache/database/MemoryMetricsSnapshot.java | 9 ---
.../utils/PlatformConfigurationUtils.java | 4 +-
.../visor/node/VisorMemoryConfiguration.java | 2 +-
.../ignite/mxbean/MemoryMetricsMXBean.java | 37 ++++++++---
12 files changed, 155 insertions(+), 76 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/examples/config/example-memory-policies.xml
----------------------------------------------------------------------
diff --git a/examples/config/example-memory-policies.xml b/examples/config/example-memory-policies.xml
index 121b8a5..83c1971 100644
--- a/examples/config/example-memory-policies.xml
+++ b/examples/config/example-memory-policies.xml
@@ -49,7 +49,7 @@
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="Default_Region"/>
<!-- 100 MB memory region with disabled eviction -->
- <property name="size" value="#{100 * 1024 * 1024}"/>
+ <property name="initialSize" value="#{100 * 1024 * 1024}"/>
</bean>
<!--
@@ -57,8 +57,10 @@
-->
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="20MB_Region_Eviction"/>
- <!-- 20 MB memory region. -->
- <property name="size" value="#{20 * 1024 * 1024}"/>
+ <!-- Memory region of 20 MB initial size. -->
+ <property name="initialSize" value="#{20 * 1024 * 1024}"/>
+ <!-- Maximum size is 40 MB. -->
+ <property name="maxSize" value="#{40 * 1024 * 1024}"/>
<!-- Enabling eviction for this memory region -->
<property name="pageEvictionMode" value="RANDOM_2_LRU"/>
</bean>
@@ -69,8 +71,10 @@
-->
<bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
<property name="name" value="15MB_Region_Swapping"/>
- <!-- 15 MB memory region. -->
- <property name="size" value="#{15 * 1024 * 1024}"/>
+ <!-- Memory region of 15 MB initial size. -->
+ <property name="initialSize" value="#{15 * 1024 * 1024}"/>
+ <!-- Maximum size is 30 MB. -->
+ <property name="maxSize" value="#{30 * 1024 * 1024}"/>
<!-- Setting a name of the swapping file. -->
<property name="swapFilePath" value="memoryPolicyExampleSwap"/>
</bean>
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java b/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
index bae915e..c652249 100644
--- a/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
+++ b/modules/core/src/main/java/org/apache/ignite/MemoryMetrics.java
@@ -27,11 +27,6 @@ public interface MemoryMetrics {
public String getName();
/**
- * @return Path of memory-mapped file used to swap PageMemory pages to disk.
- */
- public String getSwapFilePath();
-
- /**
* @return Total number of allocated pages.
*/
public long getTotalAllocatedPages();
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
index cdbed94..307e2d3 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryConfiguration.java
@@ -73,8 +73,11 @@ public class MemoryConfiguration implements Serializable {
(long)(DFLT_MEMORY_POLICY_FRACTION * U.getTotalMemoryAvailable()),
DFLT_MEMORY_POLICY_INITIAL_SIZE);
- /** Default size of a memory chunk for the system cache (100 MB). */
- public static final long DFLT_SYS_CACHE_MEM_SIZE = 100 * 1024 * 1024;
+ /** Default initial size of a memory chunk for the system cache (40 MB). */
+ private static final long DFLT_SYS_CACHE_INIT_SIZE = 40 * 1024 * 1024;
+
+ /** Default max size of a memory chunk for the system cache (40 MB). */
+ private static final long DFLT_SYS_CACHE_MAX_SIZE = 100 * 1024 * 1024;
/** Default memory page size. */
public static final int DFLT_PAGE_SIZE = 2 * 1024;
@@ -82,8 +85,11 @@ public class MemoryConfiguration implements Serializable {
/** This name is assigned to default MemoryPolicy if no user-defined default MemPlc is specified */
public static final String DFLT_MEM_PLC_DEFAULT_NAME = "default";
- /** Size of a memory chunk reserved for system cache needs. */
- private long sysCacheMemSize = DFLT_SYS_CACHE_MEM_SIZE;
+ /** Size of a memory chunk reserved for system cache initially. */
+ private long sysCacheInitSize = DFLT_SYS_CACHE_INIT_SIZE;
+
+ /** Maximum size of system cache. */
+ private long sysCacheMaxSize = DFLT_SYS_CACHE_MAX_SIZE;
/** Memory page size. */
private int pageSize = DFLT_PAGE_SIZE;
@@ -101,23 +107,48 @@ public class MemoryConfiguration implements Serializable {
private MemoryPolicyConfiguration[] memPlcs;
/**
- * Gets size of a memory chunk reserved for system cache needs.
+ * Initial size of a memory region reserved for system cache.
+ *
+ * @return Size in bytes.
+ */
+ public long getSystemCacheInitialSize() {
+ return sysCacheInitSize;
+ }
+
+ /**
+ * Sets initial size of a memory region reserved for system cache.
+ *
+ * Default value is {@link #DFLT_SYS_CACHE_INIT_SIZE}
+ *
+ * @param sysCacheInitSize Size in bytes.
+ *
+ * @return {@code this} for chaining.
+ */
+ public MemoryConfiguration setSystemCacheInitialSize(long sysCacheInitSize) {
+ this.sysCacheInitSize = sysCacheInitSize;
+
+ return this;
+ }
+
+ /**
+ * Maximum memory region size reserved for system cache.
*
* @return Size in bytes.
*/
- public long getSystemCacheMemorySize() {
- return sysCacheMemSize;
+ public long getSystemCacheMaxSize() {
+ return sysCacheMaxSize;
}
/**
- * Sets the size of a memory chunk reserved for system cache needs.
+ * Sets maximum memory region size reserved for system cache. The total size should not be less than 10 MB
+ * due to internal data structures overhead.
*
- * Default value is {@link #DFLT_SYS_CACHE_MEM_SIZE}
+ * @param sysCacheMaxSize Maximum size in bytes for system cache memory region.
*
- * @param sysCacheMemSize Size in bytes.
+ * @return {@code this} for chaining.
*/
- public MemoryConfiguration setSystemCacheMemorySize(long sysCacheMemSize) {
- this.sysCacheMemSize = sysCacheMemSize;
+ public MemoryConfiguration setSysCacheMaxSize(long sysCacheMaxSize) {
+ this.sysCacheMaxSize = sysCacheMaxSize;
return this;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java
index b5a9aed..55da5bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java
@@ -39,18 +39,19 @@ import static org.apache.ignite.configuration.MemoryConfiguration.DFLT_MEM_PLC_D
* <list>
* <bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
* <property name="name" value="Default_Region"/>
- * <property name="size" value="#{100 * 1024 * 1024}"/>
+ * <property name="initialSize" value="#{100 * 1024 * 1024}"/>
* </bean>
*
* <bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
* <property name="name" value="20MB_Region_Eviction"/>
- * <property name="size" value="#{20 * 1024 * 1024}"/>
+ * <property name="initialSize" value="#{20 * 1024 * 1024}"/>
* <property name="pageEvictionMode" value="RANDOM_2_LRU"/>
* </bean>
*
* <bean class="org.apache.ignite.configuration.MemoryPolicyConfiguration">
* <property name="name" value="25MB_Region_Swapping"/>
- * <property name="size" value="#{25 * 1024 * 1024}"/>
+ * <property name="initialSize" value="#{25 * 1024 * 1024}"/>
+ * <property name="initialSize" value="#{100 * 1024 * 1024}"/>
* <property name="swapFilePath" value="memoryPolicyExampleSwap"/>
* </bean>
* </list>
@@ -129,7 +130,7 @@ public final class MemoryPolicyConfiguration implements Serializable {
* Sets maximum memory region size defined by this memory policy. The total size should not be less than 10 MB
* due to the internal data structures overhead.
*
- * @param maxSize Maxumum memory policy size in bytes.
+ * @param maxSize Maximum memory policy size in bytes.
* @return {@code this} for chaining.
*/
public MemoryPolicyConfiguration setMaxSize(long maxSize) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
index e828914..85ad737 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java
@@ -2447,7 +2447,7 @@ public class IgniteKernal implements IgniteEx, IgniteMXBean, Externalizable {
return;
U.log(log, "System cache's MemoryPolicy size is configured to " +
- (memCfg.getSystemCacheMemorySize() / (1024 * 1024)) + " MB. " +
+ (memCfg.getSystemCacheInitialSize() / (1024 * 1024)) + " MB. " +
"Use MemoryConfiguration.systemCacheMemorySize property to change the setting.");
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
index dd9c608..2c37ac0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/IgniteCacheDatabaseSharedManager.java
@@ -54,11 +54,9 @@ import org.apache.ignite.internal.processors.cache.database.freelist.FreeList;
import org.apache.ignite.internal.processors.cache.database.freelist.FreeListImpl;
import org.apache.ignite.internal.processors.cache.database.tree.reuse.ReuseList;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture;
-import org.apache.ignite.internal.util.typedef.C1;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.processors.cluster.IgniteChangeGlobalStateSupport;
-import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.mxbean.MemoryMetricsMXBean;
import org.jetbrains.annotations.Nullable;
@@ -92,13 +90,6 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
/** */
private int pageSize;
- /** */
- private static final IgniteClosure<MemoryPolicy, MemoryMetrics> PLC_TO_METRICS = new C1<MemoryPolicy, MemoryMetrics>() {
- @Override public MemoryMetrics apply(MemoryPolicy memPlc) {
- return memPlc.memoryMetrics();
- }
- };
-
/** {@inheritDoc} */
@Override protected void start0() throws IgniteCheckedException {
if (cctx.kernalContext().clientNode() && cctx.kernalContext().config().getMemoryConfiguration() == null)
@@ -158,7 +149,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
cfg.getIgniteInstanceName(),
"MemoryMetrics",
memPlcCfg.getName(),
- new MemoryMetricsMXBeanImpl(memMetrics),
+ new MemoryMetricsMXBeanImpl(memMetrics, memPlcCfg),
MemoryMetricsMXBean.class);
}
catch (JMException e) {
@@ -256,7 +247,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
}
addMemoryPolicy(memCfg,
- createSystemMemoryPolicy(memCfg.getSystemCacheMemorySize()),
+ createSystemMemoryPolicy(memCfg.getSystemCacheInitialSize(), memCfg.getSystemCacheMaxSize()),
SYSTEM_MEMORY_POLICY_NAME);
}
@@ -310,26 +301,34 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
}
/**
- * @param sysCacheMemSize size of PageMemory to be created for system cache.
+ * @param sysCacheInitSize Initial size of PageMemory to be created for system cache.
+ * @param sysCacheMaxSize Maximum size of PageMemory to be created for system cache.
+ *
+ * @return {@link MemoryPolicyConfiguration configuration} of MemoryPolicy for system cache.
*/
- private MemoryPolicyConfiguration createSystemMemoryPolicy(long sysCacheMemSize) {
+ private MemoryPolicyConfiguration createSystemMemoryPolicy(long sysCacheInitSize,
+ long sysCacheMaxSize
+ ) {
MemoryPolicyConfiguration res = new MemoryPolicyConfiguration();
res.setName(SYSTEM_MEMORY_POLICY_NAME);
- res.setInitialSize(sysCacheMemSize);
- res.setMaxSize(sysCacheMemSize);
+ res.setInitialSize(sysCacheInitSize);
+ res.setMaxSize(sysCacheMaxSize);
return res;
}
/**
- * @param dbCfg configuration to validate.
+ * @param memCfg configuration to validate.
*/
- private void validateConfiguration(MemoryConfiguration dbCfg) throws IgniteCheckedException {
- MemoryPolicyConfiguration[] plcCfgs = dbCfg.getMemoryPolicies();
+ private void validateConfiguration(MemoryConfiguration memCfg) throws IgniteCheckedException {
+ MemoryPolicyConfiguration[] plcCfgs = memCfg.getMemoryPolicies();
Set<String> plcNames = (plcCfgs != null) ? U.<String>newHashSet(plcCfgs.length) : new HashSet<String>(0);
+ checkSystemMemoryPolicySizeConfiguration(memCfg.getSystemCacheInitialSize(),
+ memCfg.getSystemCacheMaxSize());
+
if (plcCfgs != null) {
for (MemoryPolicyConfiguration plcCfg : plcCfgs) {
assert plcCfg != null;
@@ -338,17 +337,39 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
checkPolicySize(plcCfg);
- checkPolicyEvictionProperties(plcCfg, dbCfg);
+ checkPolicyEvictionProperties(plcCfg, memCfg);
}
}
checkDefaultPolicyConfiguration(
- dbCfg.getDefaultMemoryPolicyName(),
- dbCfg.getDefaultMemoryPolicySize(),
+ memCfg.getDefaultMemoryPolicyName(),
+ memCfg.getDefaultMemoryPolicySize(),
plcNames);
}
/**
+ * @param sysCacheInitSize System cache initial size.
+ * @param sysCacheMaxSize System cache max size.
+ *
+ * @throws IgniteCheckedException In case of validation violation.
+ */
+ private void checkSystemMemoryPolicySizeConfiguration(long sysCacheInitSize, long sysCacheMaxSize) throws IgniteCheckedException {
+ if (sysCacheInitSize < MIN_PAGE_MEMORY_SIZE)
+ throw new IgniteCheckedException("Initial size for system cache must have size more than 10MB (use " +
+ "MemoryConfiguration.systemCacheInitialSize property to set correct size in bytes); " +
+ "size: " + U.readableSize(sysCacheInitSize, true)
+ );
+
+ if (sysCacheMaxSize < sysCacheInitSize)
+ throw new IgniteCheckedException("MaxSize of system cache must not be smaller than " +
+ "initialSize [initSize=" + U.readableSize(sysCacheInitSize, true) +
+ ", maxSize=" + U.readableSize(sysCacheMaxSize, true) + "]. " +
+ "Use MemoryConfiguration.systemCacheInitialSize/MemoryConfiguration.systemCacheMaxSize " +
+ "properties to set correct sizes in bytes."
+ );
+ }
+
+ /**
* @param dfltPlcName Default MemoryPolicy name.
* @param dfltPlcSize Default size of MemoryPolicy overridden by user (equals to -1 if wasn't specified by user).
* @param plcNames All MemoryPolicy names.
@@ -388,7 +409,7 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap
private static void checkPolicySize(MemoryPolicyConfiguration plcCfg) throws IgniteCheckedException {
if (plcCfg.getInitialSize() < MIN_PAGE_MEMORY_SIZE)
throw new IgniteCheckedException("MemoryPolicy must have size more than 10MB (use " +
- "MemoryPolicyConfiguration.size property to set correct size in bytes) " +
+ "MemoryPolicyConfiguration.initialSize property to set correct size in bytes) " +
"[name=" + plcCfg.getName() + ", size=" + U.readableSize(plcCfg.getInitialSize(), true) + "]"
);
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsImpl.java
index fe072fe..28c02aa 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsImpl.java
@@ -81,11 +81,6 @@ public class MemoryMetricsImpl implements MemoryMetrics {
}
/** {@inheritDoc} */
- @Override public String getSwapFilePath() {
- return memPlcCfg.getSwapFilePath();
- }
-
- /** {@inheritDoc} */
@Override public long getTotalAllocatedPages() {
return metricsEnabled ? totalAllocatedPages.longValue() : 0;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsMXBeanImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsMXBeanImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsMXBeanImpl.java
index 41c5caa..ca42142 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsMXBeanImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsMXBeanImpl.java
@@ -17,6 +17,9 @@
package org.apache.ignite.internal.processors.cache.database;
import org.apache.ignite.MemoryMetrics;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
+import org.apache.ignite.internal.util.IgniteUtils;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.mxbean.MemoryMetricsMXBean;
/**
@@ -26,11 +29,18 @@ class MemoryMetricsMXBeanImpl implements MemoryMetricsMXBean {
/** */
private final MemoryMetricsImpl memMetrics;
+ /** */
+ private final MemoryPolicyConfiguration memPlcCfg;
+
/**
* @param memMetrics MemoryMetrics instance to expose through JMX interface.
+ * @param memPlcCfg configuration of memory policy this MX Bean is created for.
*/
- MemoryMetricsMXBeanImpl(MemoryMetricsImpl memMetrics) {
+ MemoryMetricsMXBeanImpl(MemoryMetricsImpl memMetrics,
+ MemoryPolicyConfiguration memPlcCfg
+ ) {
this.memMetrics = memMetrics;
+ this.memPlcCfg = memPlcCfg;
}
/** {@inheritDoc} */
@@ -84,7 +94,17 @@ class MemoryMetricsMXBeanImpl implements MemoryMetricsMXBean {
}
/** {@inheritDoc} */
+ @Override public int getInitialSize() {
+ return (int) (memPlcCfg.getInitialSize() / (1024 * 1024));
+ }
+
+ /** {@inheritDoc} */
+ @Override public int getMaxSize() {
+ return (int) (memPlcCfg.getMaxSize() / (1024 * 1024));
+ }
+
+ /** {@inheritDoc} */
@Override public String getSwapFilePath() {
- return memMetrics.getSwapFilePath();
+ return memPlcCfg.getSwapFilePath();
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsSnapshot.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsSnapshot.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsSnapshot.java
index b71a72a..5f337bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsSnapshot.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/database/MemoryMetricsSnapshot.java
@@ -27,9 +27,6 @@ public class MemoryMetricsSnapshot implements MemoryMetrics {
private String name;
/** */
- private String swapFilePath;
-
- /** */
private long totalAllocatedPages;
/** */
@@ -49,7 +46,6 @@ public class MemoryMetricsSnapshot implements MemoryMetrics {
*/
public MemoryMetricsSnapshot(MemoryMetrics metrics) {
name = metrics.getName();
- swapFilePath = metrics.getSwapFilePath();
totalAllocatedPages = metrics.getTotalAllocatedPages();
allocationRate = metrics.getAllocationRate();
evictionRate = metrics.getEvictionRate();
@@ -63,11 +59,6 @@ public class MemoryMetricsSnapshot implements MemoryMetrics {
}
/** {@inheritDoc} */
- @Override public String getSwapFilePath() {
- return swapFilePath;
- }
-
- /** {@inheritDoc} */
@Override public long getTotalAllocatedPages() {
return totalAllocatedPages;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index b0d75ad..7a0cbfe 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@ -1329,7 +1329,7 @@ public class PlatformConfigurationUtils {
MemoryConfiguration res = new MemoryConfiguration();
- res.setSystemCacheMemorySize(in.readLong())
+ res.setSystemCacheInitialSize(in.readLong())
.setPageSize(in.readInt())
.setConcurrencyLevel(in.readInt())
.setDefaultMemoryPolicyName(in.readString());
@@ -1373,7 +1373,7 @@ public class PlatformConfigurationUtils {
w.writeBoolean(true);
- w.writeLong(cfg.getSystemCacheMemorySize());
+ w.writeLong(cfg.getSystemCacheInitialSize());
w.writeInt(cfg.getPageSize());
w.writeInt(cfg.getConcurrencyLevel());
w.writeString(cfg.getDefaultMemoryPolicyName());
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryConfiguration.java
index 7a0bc76..b756938 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryConfiguration.java
@@ -66,7 +66,7 @@ public class VisorMemoryConfiguration extends VisorDataTransferObject {
public VisorMemoryConfiguration(MemoryConfiguration memCfg) {
assert memCfg != null;
- sysCacheMemSize = memCfg.getSystemCacheMemorySize();
+ sysCacheMemSize = memCfg.getSystemCacheInitialSize();
pageSize = memCfg.getPageSize();
concLvl = memCfg.getConcurrencyLevel();
dfltMemPlcName = memCfg.getDefaultMemoryPolicyName();
http://git-wip-us.apache.org/repos/asf/ignite/blob/9816585a/modules/core/src/main/java/org/apache/ignite/mxbean/MemoryMetricsMXBean.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/mxbean/MemoryMetricsMXBean.java b/modules/core/src/main/java/org/apache/ignite/mxbean/MemoryMetricsMXBean.java
index 5697c45..6835073 100644
--- a/modules/core/src/main/java/org/apache/ignite/mxbean/MemoryMetricsMXBean.java
+++ b/modules/core/src/main/java/org/apache/ignite/mxbean/MemoryMetricsMXBean.java
@@ -24,12 +24,33 @@ import org.apache.ignite.MemoryMetrics;
@MXBeanDescription("MBean that provides access to MemoryMetrics of current Ignite node.")
public interface MemoryMetricsMXBean extends MemoryMetrics {
/** {@inheritDoc} */
- @MXBeanDescription("Name of PageMemory metrics are collected for.")
+ @MXBeanDescription("Name of MemoryPolicy metrics are collected for.")
@Override public String getName();
- /** {@inheritDoc} */
- @MXBeanDescription("File path of memory-mapped swap file.")
- @Override public String getSwapFilePath();
+ /**
+ * Initial size configured for MemoryPolicy on local node.
+ *
+ * @return Initial size in MB.
+ */
+ @MXBeanDescription("Initial size configured for MemoryPolicy on local node.")
+ public int getInitialSize();
+
+ /**
+ * Maximum size configured for MemoryPolicy on local node.
+ *
+ * @return Maximum size in MB.
+ */
+ @MXBeanDescription("Maximum size configured for MemoryPolicy on local node.")
+ public int getMaxSize();
+
+ /**
+ * Path from MemoryPolicy configuration to directory where memory-mapped files used for swap are created.
+ * Depending on configuration may be absolute or relative; in the latter case it is relative to IGNITE_HOME.
+ *
+ * @return path to directory with memory-mapped files.
+ */
+ @MXBeanDescription("Path to directory with memory-mapped files.")
+ public String getSwapFilePath();
/** {@inheritDoc} */
@MXBeanDescription("Total number of allocated pages.")
@@ -52,15 +73,15 @@ public interface MemoryMetricsMXBean extends MemoryMetrics {
@Override public float getPagesFillFactor();
/**
- * Enables collecting memory metrics.
+ * Enables collecting memory metrics on local node.
*/
- @MXBeanDescription("Enables metrics gathering.")
+ @MXBeanDescription("Enables collecting memory metrics on local node.")
public void enableMetrics();
/**
- * Disables collecting memory metrics.
+ * Disables collecting memory metrics on local node.
*/
- @MXBeanDescription("Disables metrics gathering.")
+ @MXBeanDescription("Disables collecting memory metrics on local node.")
public void disableMetrics();
/**