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/10/30 12:26:59 UTC
[05/23] ignite git commit: IGNITE-6748 Moved checkpoint buffer size
to DataRegionConfiguration
IGNITE-6748 Moved checkpoint buffer size to DataRegionConfiguration
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8266a981
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8266a981
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8266a981
Branch: refs/heads/ignite-6748
Commit: 8266a98127d000fc4ec3ee71c05ed9671e90f70e
Parents: 2d0e91e
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Thu Oct 26 10:16:35 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Oct 26 10:16:35 2017 +0300
----------------------------------------------------------------------
.../configuration/DataRegionConfiguration.java | 34 +++++++++-
.../configuration/DataStorageConfiguration.java | 29 --------
.../MemoryPolicyConfiguration.java | 23 -------
.../org/apache/ignite/internal/IgnitionEx.java | 13 ++--
.../discovery/GridDiscoveryManager.java | 8 ++-
.../GridCacheDatabaseSharedManager.java | 71 +++++++-------------
.../utils/PlatformConfigurationUtils.java | 6 +-
.../node/VisorDataRegionConfiguration.java | 13 ++++
.../node/VisorDataStorageConfiguration.java | 3 +-
.../node/VisorPersistentStoreConfiguration.java | 1 -
.../persistence/db/wal/IgnitePdsWalTlbTest.java | 7 +-
.../pagemem/PagesWriteThrottleSandboxTest.java | 2 +-
.../pagemem/PagesWriteThrottleSmokeTest.java | 2 +-
.../Config/full-config.xml | 6 +-
.../IgniteConfigurationSerializerTest.cs | 6 +-
.../IgniteConfigurationTest.cs | 6 +-
.../Configuration/DataRegionConfiguration.cs | 8 +++
.../Configuration/DataStorageConfiguration.cs | 9 ---
.../IgniteConfigurationSection.xsd | 15 +++--
modules/web-console/backend/app/mongo.js | 6 +-
.../generator/ConfigurationGenerator.js | 5 +-
.../generator/defaults/Cluster.service.js | 3 +-
.../configuration/clusters/data-storage.pug | 6 ++
23 files changed, 134 insertions(+), 148 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java
index 50edf5c..4ae87e3 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java
@@ -129,6 +129,9 @@ public final class DataRegionConfiguration implements Serializable {
*/
private boolean persistenceEnabled = false;
+ /** Temporary buffer size for checkpoints in bytes. */
+ private long checkpointPageBufSize;
+
/**
* Gets data region name.
*
@@ -212,11 +215,11 @@ public final class DataRegionConfiguration implements Serializable {
/**
* Sets a path to the memory-mapped files.
*
- * @param swapFilePath A Path to the memory mapped file.
+ * @param swapPath A Path to the memory mapped file.
* @return {@code this} for chaining.
*/
- public DataRegionConfiguration setSwapPath(String swapFilePath) {
- this.swapPath = swapFilePath;
+ public DataRegionConfiguration setSwapPath(String swapPath) {
+ this.swapPath = swapPath;
return this;
}
@@ -403,4 +406,29 @@ public final class DataRegionConfiguration implements Serializable {
return this;
}
+
+ /**
+ * Gets amount of memory allocated for a checkpoint temporary buffer.
+ *
+ * @return Checkpoint page buffer size in bytes or {@code 0} for Ignite
+ * to choose the buffer size automatically.
+ */
+ public long getCheckpointPageBufferSize() {
+ return checkpointPageBufSize;
+ }
+
+ /**
+ * Sets amount of memory allocated for the checkpoint temporary buffer. The buffer is used to create temporary
+ * copies of pages that are being written to disk and being update in parallel while the checkpoint is in
+ * progress.
+ *
+ * @param checkpointPageBufSize Checkpoint page buffer size in bytes or {@code 0} for Ignite to
+ * choose the buffer size automatically.
+ * @return {@code this} for chaining.
+ */
+ public DataRegionConfiguration setCheckpointPageBufferSize(long checkpointPageBufSize) {
+ this.checkpointPageBufSize = checkpointPageBufSize;
+
+ return this;
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
index bd314ab..8202ef8 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java
@@ -173,9 +173,6 @@ public class DataStorageConfiguration implements Serializable {
private long lockWaitTime = DFLT_LOCK_WAIT_TIME;
/** */
- private long checkpointPageBufSize;
-
- /** */
private int checkpointThreads = DFLT_CHECKPOINT_THREADS;
/** Checkpoint write order. */
@@ -425,32 +422,6 @@ public class DataStorageConfiguration implements Serializable {
}
/**
- * Gets amount of memory allocated for a checkpoint temporary buffer.
- *
- * @return Checkpoint page buffer size in bytes or {@code 0} for Ignite
- * to choose the buffer size automatically.
- */
- public long getCheckpointPageBufferSize() {
- return checkpointPageBufSize;
- }
-
- /**
- * Sets amount of memory allocated for the checkpoint temporary buffer. The buffer is used to create temporary
- * copies of pages that are being written to disk and being update in parallel while the checkpoint is in
- * progress.
- *
- * @param checkpointPageBufSize Checkpoint page buffer size in bytes or {@code 0} for Ignite to
- * choose the buffer size automatically.
- * @return {@code this} for chaining.
- */
- public DataStorageConfiguration setCheckpointPageBufferSize(long checkpointPageBufSize) {
- this.checkpointPageBufSize = checkpointPageBufSize;
-
- return this;
- }
-
-
- /**
* Gets a number of threads to use for the checkpoint purposes.
*
* @return Number of checkpoint threads.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/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 efe7ae2..a1a822f 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
@@ -124,11 +124,6 @@ public final class MemoryPolicyConfiguration implements Serializable {
private long rateTimeInterval = DFLT_RATE_TIME_INTERVAL_MILLIS;
/**
- * Flag to enable Ignite Native Persistence.
- */
- private boolean persistenceEnabled = true;
-
- /**
* Gets memory policy name.
*
* @return Memory policy name.
@@ -320,24 +315,6 @@ public final class MemoryPolicyConfiguration implements Serializable {
}
/**
- * Gets whether Ignite Native Persistence is enabled for this memory policy.
- *
- * @return Persistence enabled flag.
- */
- public boolean isPersistenceEnabled() {
- return persistenceEnabled;
- }
-
- /**
- * Sets persistence enabled flag.
- *
- * @param persistenceEnabled Persistence enabled flag.
- */
- public void setPersistenceEnabled(boolean persistenceEnabled) {
- this.persistenceEnabled = persistenceEnabled;
- }
-
- /**
* Gets time interval for {@link MemoryMetrics#getAllocationRate()}
* and {@link MemoryMetrics#getEvictionRate()} monitoring purposes.
* <p>
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
index 36257e2..67c771b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
@@ -2779,7 +2779,9 @@ public class IgnitionEx {
*/
private static void convertLegacyDataStorageConfigurationToNew(
IgniteConfiguration cfg) throws IgniteCheckedException {
- boolean persistenceEnabled = cfg.getPersistentStoreConfiguration() != null;
+ PersistentStoreConfiguration psCfg = cfg.getPersistentStoreConfiguration();
+
+ boolean persistenceEnabled = psCfg != null;
DataStorageConfiguration dsCfg = new DataStorageConfiguration();
@@ -2814,6 +2816,9 @@ public class IgnitionEx {
region.setSwapPath(mpc.getSwapFilePath());
region.setMetricsEnabled(mpc.isMetricsEnabled());
+ if (persistenceEnabled)
+ region.setCheckpointPageBufferSize(psCfg.getCheckpointingPageBufferSize());
+
if (mpc.getName() == null) {
throw new IgniteCheckedException(new IllegalArgumentException(
"User-defined MemoryPolicyConfiguration must have non-null and non-empty name."));
@@ -2829,7 +2834,8 @@ public class IgnitionEx {
}
if (!optionalDataRegions.isEmpty())
- dsCfg.setDataRegionConfigurations(optionalDataRegions.toArray(new DataRegionConfiguration[optionalDataRegions.size()]));
+ dsCfg.setDataRegionConfigurations(optionalDataRegions.toArray(
+ new DataRegionConfiguration[optionalDataRegions.size()]));
if (!customDfltPlc) {
if (!DFLT_MEM_PLC_DEFAULT_NAME.equals(memCfg.getDefaultMemoryPolicyName())) {
@@ -2848,10 +2854,7 @@ public class IgnitionEx {
}
if (persistenceEnabled) {
- PersistentStoreConfiguration psCfg = cfg.getPersistentStoreConfiguration();
-
dsCfg.setCheckpointFrequency(psCfg.getCheckpointingFrequency());
- dsCfg.setCheckpointPageBufferSize(psCfg.getCheckpointingPageBufferSize());
dsCfg.setCheckpointThreads(psCfg.getCheckpointingThreads());
dsCfg.setCheckpointWriteOrder(psCfg.getCheckpointWriteOrder());
dsCfg.setFileIOFactory(psCfg.getFileIOFactory());
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
index a3b157d..77b0622 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java
@@ -1543,14 +1543,16 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
DataRegionConfiguration[] dataRegions = memCfg.getDataRegionConfigurations();
if (dataRegions != null) {
- for (DataRegionConfiguration dataReg : dataRegions)
+ for (DataRegionConfiguration dataReg : dataRegions) {
res += dataReg.getMaxSize();
+
+ res += GridCacheDatabaseSharedManager.checkpointBufferSize(dataReg);
+ }
}
res += memCfg.getDefaultDataRegionConfiguration().getMaxSize();
- // Add persistence (if any).
- res += GridCacheDatabaseSharedManager.checkpointBufferSize(ctx.config());
+ res += GridCacheDatabaseSharedManager.checkpointBufferSize(memCfg.getDefaultDataRegionConfiguration());
return res;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java
----------------------------------------------------------------------
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 de3b60a..920af17 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
@@ -156,8 +156,14 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
/** */
public static final String IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC = "IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC";
- /** Default checkpointing page buffer size (may be adjusted by Ignite). */
- public static final Long DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE = 256L * 1024 * 1024;
+ /** */
+ private static final long GB = 1024L * 1024 * 1024;
+
+ /** Minimum checkpointing page buffer size (may be adjusted by Ignite). */
+ public static final Long DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE = GB / 4;
+
+ /** Default minimum checkpointing page buffer size (may be adjusted by Ignite). */
+ public static final Long DFLT_MAX_CHECKPOINTING_PAGE_BUFFER_SIZE = 2 * GB;
/** Skip sync. */
private final boolean skipSync = IgniteSystemProperties.getBoolean(IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC);
@@ -249,9 +255,6 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
private long checkpointFreq;
/** */
- private long checkpointPageBufSize;
-
- /** */
private FilePageStoreManager storeMgr;
/** Checkpoint metadata directory ("cp"), contains files with checkpoint start and end */
@@ -408,56 +411,27 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
30_000,
new LinkedBlockingQueue<Runnable>()
);
-
- checkpointPageBufSize = checkpointBufferSize(cctx.kernalContext().config());
}
/**
* Get checkpoint buffer size for the given configuration.
*
- * @param cfg Configuration.
+ * @param regCfg Configuration.
* @return Checkpoint buffer size.
*/
- public static long checkpointBufferSize(IgniteConfiguration cfg) {
- DataStorageConfiguration persistenceCfg = cfg.getDataStorageConfiguration();
-
- if (persistenceCfg == null)
+ public static long checkpointBufferSize(DataRegionConfiguration regCfg) {
+ if (!regCfg.isPersistenceEnabled())
return 0L;
- long res = persistenceCfg.getCheckpointPageBufferSize();
+ long res = regCfg.getCheckpointPageBufferSize();
if (res == 0L) {
- res = DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE;
-
- DataStorageConfiguration memCfg = cfg.getDataStorageConfiguration();
-
- assert memCfg != null;
-
- long totalSize = memCfg.getSystemRegionMaxSize();
-
- if (memCfg.getDataRegionConfigurations() == null)
- totalSize += DataStorageConfiguration.DFLT_DATA_REGION_MAX_SIZE;
- else {
- for (DataRegionConfiguration memPlc : memCfg.getDataRegionConfigurations()) {
- if (Long.MAX_VALUE - memPlc.getMaxSize() > totalSize)
- totalSize += memPlc.getMaxSize();
- else {
- totalSize = Long.MAX_VALUE;
-
- break;
- }
- }
-
- assert totalSize > 0;
- }
-
- // Limit the checkpoint page buffer size by 2GB.
- long dfltSize = 2 * 1024L * 1024L * 1024L;
-
- long adjusted = Math.min(totalSize / 4, dfltSize);
-
- if (res < adjusted)
- res = adjusted;
+ if (regCfg.getMaxSize() < GB)
+ res = Math.min(DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE, regCfg.getMaxSize());
+ else if (regCfg.getMaxSize() < 8 * GB)
+ res = regCfg.getMaxSize() / 4;
+ else
+ res = DFLT_MAX_CHECKPOINTING_PAGE_BUFFER_SIZE;
}
return res;
@@ -689,13 +663,16 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan
long cacheSize = plcCfg.getMaxSize();
// Checkpoint buffer size can not be greater than cache size, it does not make sense.
- long chpBufSize = Math.min(checkpointPageBufSize, cacheSize);
+ long chpBufSize = checkpointBufferSize(plcCfg);
- if (checkpointPageBufSize > cacheSize)
+ if (chpBufSize > cacheSize) {
U.quietAndInfo(log,
- "Checkpoint page buffer size is too big, setting to an adjusted cache size [size="
+ "Configured checkpoint page buffer size is too big, setting to the max region size [size="
+ U.readableSize(cacheSize, false) + ", memPlc=" + plcCfg.getName() + ']');
+ chpBufSize = cacheSize;
+ }
+
boolean writeThrottlingEnabled = persistenceCfg.isWriteThrottlingEnabled();
if (IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_OVERRIDE_WRITE_THROTTLING_ENABLED, false))
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/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 28b6c60..c1a807c 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
@@ -1668,7 +1668,6 @@ public class PlatformConfigurationUtils {
DataStorageConfiguration res = new DataStorageConfiguration()
.setStoragePath(in.readString())
.setCheckpointFrequency(in.readLong())
- .setCheckpointPageBufferSize(in.readLong())
.setCheckpointThreads(in.readInt())
.setLockWaitTime((int) in.readLong())
.setWalHistorySize(in.readInt())
@@ -1763,7 +1762,6 @@ public class PlatformConfigurationUtils {
w.writeString(cfg.getStoragePath());
w.writeLong(cfg.getCheckpointFrequency());
- w.writeLong(cfg.getCheckpointPageBufferSize());
w.writeInt(cfg.getCheckpointThreads());
w.writeLong(cfg.getLockWaitTime());
w.writeInt(cfg.getWalHistorySize());
@@ -1828,6 +1826,7 @@ public class PlatformConfigurationUtils {
w.writeBoolean(cfg.isMetricsEnabled());
w.writeInt(cfg.getMetricsSubIntervalCount());
w.writeLong(cfg.getMetricsRateTimeInterval());
+ w.writeLong(cfg.getCheckpointPageBufferSize());
}
/**
@@ -1849,7 +1848,8 @@ public class PlatformConfigurationUtils {
.setEmptyPagesPoolSize(r.readInt())
.setMetricsEnabled(r.readBoolean())
.setMetricsSubIntervalCount(r.readInt())
- .setMetricsRateTimeInterval(r.readLong());
+ .setMetricsRateTimeInterval(r.readLong())
+ .setCheckpointPageBufferSize(r.readLong());
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java
index 394e294..179e789 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java
@@ -68,6 +68,9 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject {
/** Enable Ignite Native Persistence. */
private boolean persistenceEnabled;
+ /** Temporary buffer size for checkpoints in bytes. */
+ private long checkpointPageBufSize;
+
/**
* Default constructor.
*/
@@ -94,6 +97,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject {
metricsSubIntervalCount = plc.getMetricsSubIntervalCount();
metricsRateTimeInterval = plc.getMetricsRateTimeInterval();
persistenceEnabled = plc.isPersistenceEnabled();
+ checkpointPageBufSize = plc.getCheckpointPageBufferSize();
}
/**
@@ -188,6 +192,13 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject {
return persistenceEnabled;
}
+ /**
+ * @return Amount of memory allocated for a checkpoint temporary buffer in bytes.
+ */
+ public long getCheckpointPageBufferSize() {
+ return checkpointPageBufSize;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, name);
@@ -201,6 +212,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject {
out.writeInt(metricsSubIntervalCount);
out.writeLong(metricsRateTimeInterval);
out.writeBoolean(persistenceEnabled);
+ out.writeLong(checkpointPageBufSize);
}
/** {@inheritDoc} */
@@ -216,6 +228,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject {
metricsSubIntervalCount = in.readInt();
metricsRateTimeInterval = in.readLong();
persistenceEnabled = in.readBoolean();
+ checkpointPageBufSize = in.readLong();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java
index 78bf1c5..8470fe1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java
@@ -155,7 +155,6 @@ public class VisorDataStorageConfiguration extends VisorDataTransferObject {
storagePath = cfg.getStoragePath();
checkpointFreq = cfg.getCheckpointFrequency();
lockWaitTime = cfg.getLockWaitTime();
- checkpointPageBufSize = cfg.getCheckpointPageBufferSize();
checkpointThreads = cfg.getCheckpointThreads();
checkpointWriteOrder = cfg.getCheckpointWriteOrder();
walHistSize = cfg.getWalHistorySize();
@@ -391,7 +390,7 @@ public class VisorDataStorageConfiguration extends VisorDataTransferObject {
U.writeString(out, storagePath);
out.writeLong(checkpointFreq);
out.writeLong(lockWaitTime);
- out.writeLong(checkpointPageBufSize);
+ out.writeLong(0);
out.writeInt(checkpointThreads);
U.writeEnum(out, checkpointWriteOrder);
out.writeInt(walHistSize);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java
index f9d7a64..d26ab35 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java
@@ -103,7 +103,6 @@ public class VisorPersistentStoreConfiguration extends VisorDataTransferObject {
persistenceStorePath = cfg.getStoragePath();
checkpointingFreq = cfg.getCheckpointFrequency();
lockWaitTime = cfg.getLockWaitTime();
- checkpointingPageBufSize = cfg.getCheckpointPageBufferSize();
checkpointingThreads = cfg.getCheckpointThreads();
walHistSize = cfg.getWalHistorySize();
walSegments = cfg.getWalSegments();
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java
index 5700eb3..3b76b63 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java
@@ -31,7 +31,7 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE;
+import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE;
import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.DFLT_STORE_DIR;
/**
@@ -54,9 +54,10 @@ public class IgnitePdsWalTlbTest extends GridCommonAbstractTest {
DataStorageConfiguration memCfg = new DataStorageConfiguration()
.setDefaultDataRegionConfiguration(
- new DataRegionConfiguration().setMaxSize(100 * 1024 * 1024).setPersistenceEnabled(true))
+ new DataRegionConfiguration().setMaxSize(100 * 1024 * 1024)
+ .setPersistenceEnabled(true)
+ .setCheckpointPageBufferSize(DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE + 1))
.setWalMode(WALMode.LOG_ONLY)
- .setCheckpointPageBufferSize(DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE + 1)
.setWalThreadLocalBufferSize(640000000);
cfg.setDataStorageConfiguration(memCfg);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java
index 30fb492..9529f59 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java
@@ -68,12 +68,12 @@ public class PagesWriteThrottleSandboxTest extends GridCommonAbstractTest {
DataStorageConfiguration dbCfg = new DataStorageConfiguration()
.setDefaultDataRegionConfiguration(new DataRegionConfiguration()
.setMaxSize(4000L * 1024 * 1024)
+ .setCheckpointPageBufferSize(1000L * 1000 * 1000)
.setName("dfltDataRegion")
.setMetricsEnabled(true)
.setPersistenceEnabled(true))
.setWalMode(WALMode.BACKGROUND)
.setCheckpointFrequency(20_000)
- .setCheckpointPageBufferSize(1000L * 1000 * 1000)
.setWriteThrottlingEnabled(true);
cfg.setDataStorageConfiguration(dbCfg);
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java
index ab7aab4..1875cfb 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java
@@ -78,12 +78,12 @@ public class PagesWriteThrottleSmokeTest extends GridCommonAbstractTest {
DataStorageConfiguration dbCfg = new DataStorageConfiguration()
.setDefaultDataRegionConfiguration(new DataRegionConfiguration()
.setMaxSize(400 * 1024 * 1024)
+ .setCheckpointPageBufferSize(200 * 1000 * 1000)
.setName("dfltDataRegion")
.setMetricsEnabled(true)
.setPersistenceEnabled(true))
.setWalMode(WALMode.BACKGROUND)
.setCheckpointFrequency(20_000)
- .setCheckpointPageBufferSize(200 * 1000 * 1000)
.setWriteThrottlingEnabled(true)
.setCheckpointThreads(1)
.setFileIOFactory(new SlowCheckpointFileIOFactory());
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml
index 03559bf..b808bbe 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml
@@ -136,7 +136,7 @@
<listener type='Apache.Ignite.Core.Tests.IgniteConfigurationSerializerTest+MyEventListener' />
</localEventListener>
</localEventListeners>
- <dataStorageConfiguration alwaysWriteFullPages="false" checkpointFrequency="00:00:01" checkpointPageBufferSize="2"
+ <dataStorageConfiguration alwaysWriteFullPages="false" checkpointFrequency="00:00:01"
checkpointThreads="3" concurrencyLevel="4" lockWaitTime="00:00:05" metricsEnabled="true"
pageSize="6" storagePath="cde" metricsRateTimeInterval="00:00:07"
metricsSubIntervalCount="8" systemRegionInitialSize="9" systemRegionMaxSize="10"
@@ -147,11 +147,11 @@
<dataRegionConfigurations>
<dataRegionConfiguration emptyPagesPoolSize="1" evictionThreshold="2" initialSize="3" metricsEnabled="true"
maxSize="4" name="reg2" pageEvictionMode="RandomLru" metricsRateTimeInterval="00:00:01"
- metricsSubIntervalCount="5" swapPath="swap" />
+ metricsSubIntervalCount="5" swapPath="swap" checkpointPageBufferSize="7" />
</dataRegionConfigurations>
<defaultDataRegionConfiguration emptyPagesPoolSize="2" evictionThreshold="3" initialSize="4"
maxSize="5" metricsEnabled="false" name="reg1" pageEvictionMode="Disabled"
metricsRateTimeInterval="00:00:03" metricsSubIntervalCount="6"
- swapPath="swap2" />
+ swapPath="swap2" checkpointPageBufferSize="8" />
</dataStorageConfiguration>
</igniteConfiguration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
index b8c1069..4cd3760 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
@@ -287,7 +287,6 @@ namespace Apache.Ignite.Core.Tests
var ds = cfg.DataStorageConfiguration;
Assert.IsFalse(ds.AlwaysWriteFullPages);
Assert.AreEqual(TimeSpan.FromSeconds(1), ds.CheckpointFrequency);
- Assert.AreEqual(2, ds.CheckpointPageBufferSize);
Assert.AreEqual(3, ds.CheckpointThreads);
Assert.AreEqual(4, ds.ConcurrencyLevel);
Assert.AreEqual(TimeSpan.FromSeconds(5), ds.LockWaitTime);
@@ -321,6 +320,7 @@ namespace Apache.Ignite.Core.Tests
Assert.AreEqual(5, dr.MetricsSubIntervalCount);
Assert.AreEqual("swap", dr.SwapPath);
Assert.IsTrue(dr.MetricsEnabled);
+ Assert.AreEqual(7, dr.CheckpointPageBufferSize);
dr = ds.DefaultDataRegionConfiguration;
Assert.AreEqual(2, dr.EmptyPagesPoolSize);
@@ -927,7 +927,6 @@ namespace Apache.Ignite.Core.Tests
{
AlwaysWriteFullPages = true,
CheckpointFrequency = TimeSpan.FromSeconds(25),
- CheckpointPageBufferSize = 28 * 1024 * 1024,
CheckpointThreads = 2,
LockWaitTime = TimeSpan.FromSeconds(5),
StoragePath = Path.GetTempPath(),
@@ -962,7 +961,8 @@ namespace Apache.Ignite.Core.Tests
PersistenceEnabled = false,
MetricsRateTimeInterval = TimeSpan.FromMinutes(2),
MetricsSubIntervalCount = 6,
- SwapPath = Path.GetTempPath()
+ SwapPath = Path.GetTempPath(),
+ CheckpointPageBufferSize = 7
},
DataRegionConfigurations = new[]
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
index c8c06b2..f68371a 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
@@ -543,7 +543,6 @@ namespace Apache.Ignite.Core.Tests
Assert.AreEqual(DataStorageConfiguration.DefaultTlbSize, cfg.WalThreadLocalBufferSize);
Assert.AreEqual(DataStorageConfiguration.DefaultCheckpointFrequency, cfg.CheckpointFrequency);
Assert.AreEqual(DataStorageConfiguration.DefaultCheckpointThreads, cfg.CheckpointThreads);
- Assert.AreEqual(default(long), cfg.CheckpointPageBufferSize);
Assert.AreEqual(DataStorageConfiguration.DefaultLockWaitTime, cfg.LockWaitTime);
Assert.AreEqual(DataStorageConfiguration.DefaultWalFlushFrequency, cfg.WalFlushFrequency);
Assert.AreEqual(DataStorageConfiguration.DefaultWalFsyncDelayNanos, cfg.WalFsyncDelayNanos);
@@ -580,6 +579,7 @@ namespace Apache.Ignite.Core.Tests
Assert.AreEqual(DataRegionConfiguration.DefaultPersistenceEnabled, cfg.PersistenceEnabled);
Assert.AreEqual(DataRegionConfiguration.DefaultMetricsRateTimeInterval, cfg.MetricsRateTimeInterval);
Assert.AreEqual(DataRegionConfiguration.DefaultMetricsSubIntervalCount, cfg.MetricsSubIntervalCount);
+ Assert.AreEqual(default(long), cfg.CheckpointPageBufferSize);
}
/// <summary>
@@ -769,7 +769,6 @@ namespace Apache.Ignite.Core.Tests
{
AlwaysWriteFullPages = true,
CheckpointFrequency = TimeSpan.FromSeconds(25),
- CheckpointPageBufferSize = 28 * 1024 * 1024,
CheckpointThreads = 2,
LockWaitTime = TimeSpan.FromSeconds(5),
StoragePath = Path.GetTempPath(),
@@ -804,7 +803,8 @@ namespace Apache.Ignite.Core.Tests
PersistenceEnabled = false,
MetricsRateTimeInterval = TimeSpan.FromMinutes(2),
MetricsSubIntervalCount = 6,
- SwapPath = IgniteUtils.GetTempDirectoryName()
+ SwapPath = IgniteUtils.GetTempDirectoryName(),
+ CheckpointPageBufferSize = 28 * 1024 * 1024
},
DataRegionConfigurations = new[]
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs
index 5c4240e..d20ce49 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs
@@ -104,6 +104,7 @@ namespace Apache.Ignite.Core.Configuration
MetricsEnabled = reader.ReadBoolean();
MetricsSubIntervalCount = reader.ReadInt();
MetricsRateTimeInterval = reader.ReadLongAsTimespan();
+ CheckpointPageBufferSize = reader.ReadLong();
}
/// <summary>
@@ -122,6 +123,7 @@ namespace Apache.Ignite.Core.Configuration
writer.WriteBoolean(MetricsEnabled);
writer.WriteInt(MetricsSubIntervalCount);
writer.WriteTimeSpanAsLong(MetricsRateTimeInterval);
+ writer.WriteLong(CheckpointPageBufferSize);
}
/// <summary>
@@ -209,5 +211,11 @@ namespace Apache.Ignite.Core.Configuration
Justification = "Consistency with Java config")]
public int MetricsSubIntervalCount { get; set; }
+ /// <summary>
+ /// Gets or sets the size of the checkpointing page buffer.
+ /// <para />
+ /// Default is <c>0</c>: Ignite will choose buffer size automatically.
+ /// </summary>
+ public long CheckpointPageBufferSize { get; set; }
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs
index 17b4ada..09b3fe4 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs
@@ -189,7 +189,6 @@ namespace Apache.Ignite.Core.Configuration
StoragePath = reader.ReadString();
CheckpointFrequency = reader.ReadLongAsTimespan();
- CheckpointPageBufferSize = reader.ReadLong();
CheckpointThreads = reader.ReadInt();
LockWaitTime = reader.ReadLongAsTimespan();
WalHistorySize = reader.ReadInt();
@@ -239,7 +238,6 @@ namespace Apache.Ignite.Core.Configuration
writer.WriteString(StoragePath);
writer.WriteTimeSpanAsLong(CheckpointFrequency);
- writer.WriteLong(CheckpointPageBufferSize);
writer.WriteInt(CheckpointThreads);
writer.WriteTimeSpanAsLong(LockWaitTime);
writer.WriteInt(WalHistorySize);
@@ -308,13 +306,6 @@ namespace Apache.Ignite.Core.Configuration
public TimeSpan CheckpointFrequency { get; set; }
/// <summary>
- /// Gets or sets the size of the checkpointing page buffer.
- /// <para />
- /// Default is <c>0</c>: Ignite will choose buffer size automatically.
- /// </summary>
- public long CheckpointPageBufferSize { get; set; }
-
- /// <summary>
/// Gets or sets the number of threads for checkpointing.
/// </summary>
[DefaultValue(DefaultCheckpointThreads)]
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
----------------------------------------------------------------------
diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
index 70b1fc4..5050806 100644
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
@@ -1622,6 +1622,11 @@
<xs:documentation>Enable disk persistence for this region.</xs:documentation>
</xs:annotation>
</xs:attribute>
+ <xs:attribute name="checkpointPageBufferSize" type="xs:long">
+ <xs:annotation>
+ <xs:documentation>Size of the checkpointing page buffer.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="dataRegionConfigurations">
@@ -1690,6 +1695,11 @@
<xs:documentation>Enable disk persistence for this region.</xs:documentation>
</xs:annotation>
</xs:attribute>
+ <xs:attribute name="checkpointPageBufferSize" type="xs:long">
+ <xs:annotation>
+ <xs:documentation>Size of the checkpointing page buffer.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -1706,11 +1716,6 @@
<xs:documentation>Checkpointing frequency which is a minimal interval when the dirty pages will be written to the Persistent Store.</xs:documentation>
</xs:annotation>
</xs:attribute>
- <xs:attribute name="checkpointPageBufferSize" type="xs:long">
- <xs:annotation>
- <xs:documentation>Size of the checkpointing page buffer.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
<xs:attribute name="checkpointThreads" type="xs:int">
<xs:annotation>
<xs:documentation>Number of threads for checkpointing.</xs:documentation>
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/backend/app/mongo.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/mongo.js b/modules/web-console/backend/app/mongo.js
index b4bc9fc..5b02a72 100644
--- a/modules/web-console/backend/app/mongo.js
+++ b/modules/web-console/backend/app/mongo.js
@@ -977,7 +977,8 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose
metricsEnabled: Boolean,
metricsSubIntervalCount: Number,
metricsRateTimeInterval: Number,
- persistenceEnabled: Boolean
+ persistenceEnabled: Boolean,
+ checkpointPageBufferSize: Number
},
dataRegionConfigurations: [{
name: String,
@@ -990,7 +991,8 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose
metricsEnabled: Boolean,
metricsSubIntervalCount: Number,
metricsRateTimeInterval: Number,
- persistenceEnabled: Boolean
+ persistenceEnabled: Boolean,
+ checkpointPageBufferSize: Number
}],
storagePath: String,
metricsEnabled: Boolean,
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
index d9342e7..1b12d52 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -1345,7 +1345,7 @@ export default class IgniteConfigurationGenerator {
static dataRegionConfiguration(dataRegionCfg) {
const plcBean = new Bean('org.apache.ignite.configuration.DataRegionConfiguration', 'dataRegionCfg', dataRegionCfg, clusterDflts.dataStorageConfiguration.dataRegionConfigurations);
- return plcBean.stringProperty('name')
+ plcBean.stringProperty('name')
.longProperty('initialSize')
.longProperty('maxSize')
.stringProperty('swapPath')
@@ -1354,8 +1354,11 @@ export default class IgniteConfigurationGenerator {
.intProperty('emptyPagesPoolSize')
.intProperty('metricsSubIntervalCount')
.longProperty('metricsRateTimeInterval')
+ .longProperty('checkpointPageBufferSize')
.boolProperty('metricsEnabled')
.boolProperty('persistenceEnabled');
+
+ return plcBean;
}
// Generate data storage configuration.
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
index bafb202..f636869 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
@@ -327,7 +327,8 @@ const DFLT_CLUSTER = {
emptyPagesPoolSize: 100,
metricsEnabled: false,
metricsSubIntervalCount: 5,
- metricsRateTimeInterval: 60000
+ metricsRateTimeInterval: 60000,
+ checkpointPageBufferSize: 0
},
metricsEnabled: false,
alwaysWriteFullPages: false,
http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug
index a635739..82c6dbe 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug
@@ -102,6 +102,9 @@ include /app/helpers/jade/mixins
+number('Metrics rate time interval:', dfltRegionModel + '.metricsRateTimeInterval', '"DfltRegionRateTimeInterval" + $index',
'true', '60000', '1000', 'Time interval for allocation rate and eviction rate monitoring purposes')
.details-row
+ +number('Checkpoint page buffer:', dfltRegionModel + '.checkpointPageBufferSize', '"DfltCheckpointPageBufferSize" + $index',
+ 'true', '0', '0', 'Amount of memory allocated for a checkpoint temporary buffer in bytes')
+ .details-row
+checkbox('Metrics enabled', dfltRegionModel + '.metricsEnabled', '"DfltRegionMetricsEnabled" + $index',
'Whether memory metrics are enabled by default on node startup')
.details-row
@@ -156,6 +159,9 @@ include /app/helpers/jade/mixins
.settings-row
+number('Metrics rate time interval:', 'model.metricsRateTimeInterval', '"DataRegionRateTimeInterval" + $index',
'true', '60000', '1000', 'Time interval for allocation rate and eviction rate monitoring purposes')
+ .details-row
+ +number('Checkpoint page buffer:', 'model.checkpointPageBufferSize', '"DataRegionCheckpointPageBufferSize" + $index',
+ 'true', '0', '0', 'Amount of memory allocated for a checkpoint temporary buffer in bytes')
.settings-row
+checkbox('Metrics enabled', 'model.metricsEnabled', '"DataRegionMetricsEnabled" + $index',
'Whether memory metrics are enabled by default on node startup')